NSTimer против CACurrentMediaTime ()

Поэтому я в своей первой игре для iOS и пытаюсь найти наилучший способ интеграции движений объектов.

Игра сильно зависит от быстро движущихся объектов и постоянных, быстрых изменений пользовательского ввода. В связи с этим я пытаюсь обеспечить интеграцию объектов и средство решения ограничений настолько быстро и точно, насколько это возможно (чтобы минимизировать изменение пользовательского ввода между последовательными вызовами игрового цикла).

Более конкретно, я не уверен в возможностях класса NSTimer и функции CACurrentMediaTime (). Трудно проверить эмпирически, потому что я не уверен, у кого ошибка выше. Например, используя NSTimer с повторяющимся интервалом 0,008 (~ 2 обновления / обновление экрана) и вызывая CACurrentMediaTime () при последовательных вызовах, я обнаружил, что интервал времени между вызовами варьируется от 0,0075 до 0,009. Трудно сказать, кто ответственен за (маленькое) несоответствие. Поэтому для определения шага по времени я должен быть:

Assume NSTimer is accurate enough to use the NSTimer time interval as the game loop time step

Use CACurrentMediaTime() to determine the time interval between successive game loop calls.

Студент и новичок во всем этом - пожалуйста, будьте добры :) Любой совет с благодарностью. Спасибо за ваше время.

Ответы на вопрос(2)

Ваш ответ на вопрос