NSTimer vs CACurrentMediaTime ()

Así que estoy en medio de mi primer juego de iOS y estoy luchando con la mejor manera de integrar el movimiento de objetos.

El juego se basa en gran medida en objetos que se mueven rápidamente y en cambios constantes y rápidos de entrada del usuario. Como tal, estoy tratando de que la integración de objetos y el solucionador de restricciones se ejecuten de la manera más rápida y precisa posible (para minimizar el cambio de entrada del usuario entre sucesivas llamadas de bucle de juego).

Más específicamente, no estoy seguro de las capacidades de la clase NSTimer y la función CACurrentMediaTime (). Es difícil de probar empíricamente porque no estoy seguro de cuál es el error más grande. Por ejemplo, utilizando un NSTimer con un intervalo de repetición de 0.008 (~ 2 actualizaciones / actualización de pantalla) y llamando a CACurrentMediaTime () en llamadas sucesivas, encuentro que el intervalo de tiempo entre llamadas varía de 0.0075 a 0.009. Es difícil decir cuál es el responsable de la (pequeña) inconsistencia. Entonces para determinar el paso de tiempo debería ser:

Suponga que NSTimer es lo suficientemente preciso como para usar el intervalo de tiempo NSTimer como el paso de tiempo del bucle del juego

Use CACurrentMediaTime () para determinar el intervalo de tiempo entre las sucesivas llamadas de bucle de juego.

Estudiante y nuevo en todo esto, por favor sea amable :) Cualquier consejo es muy apreciado. Gracias por tu tiempo.

Respuestas a la pregunta(2)

Su respuesta a la pregunta