Hay una cantidad extremadamente alta de uso de la CPU en este simple juego

Tengo un juego donde los desechos generan y el jugador tiene que esquivarlo, y los desechos se generan con una function que llama a la function addAlien . Esta function se llama updateWithTimeSinceLastUpdate() . El problema es que está utilizando como el 80% de la CPU y no tengo idea de por qué … Cuando lo elimino la aplicación funciona perfectamente, pero con ella se bloquea. ¿Alguien podría decirme qué debería hacer para arreglar esto? Toda la ayuda es muy apreciada: Código publicado a continuación

  func updateWithTimeSinceLastUpdate(timeSinceLastUpdate: CFTimeInterval){ lastYieldTimeInterval += timeSinceLastUpdate if(lastYieldTimeInterval > 1){ lastYieldTimeInterval = 0 addAlien() } } //**Where this function is called:** (last line of this function) override func update(currentTime: CFTimeInterval) { scoreLabel.text = scoreVarInLabel + String(accessVar.gameScore) if(pixelman.position.x<20){ pixelman.position.x = 20 } if(pixelman.position.x>self.frame.width-5){ pixelman.position.x = self.frame.width-5 } var timeSinceLastUpdate = currentTime - lastUpdateTimerInterval lastUpdateTimerInterval = currentTime if(timeSinceLastUpdate > 1){ timeSinceLastUpdate = 1/60 lastUpdateTimerInterval = currentTime } // The below line is what is causing 80% CPU Usage updateWithTimeSinceLastUpdate(timeSinceLastUpdate) } 

Muchas gracias de antemano

Como nota al margen, pido disculpas por la especificidad de la pregunta: quiero comprender en general qué causa este locking.