Лучший способ убедиться, что игры Android работают с одинаковой скоростью на любом устройстве

У меня есть игра на Android, и она работает в одном потоке. Выполняет работу в run () и выполняет рисование inDraw (). Довольно просто.

Однако на Droid он работает намного быстрее, чем на G1.

Какова наилучшая практика для обеспечения того, чтобы игра работала с одинаковой скоростью независимо от устройства?

Обычно это контролируется комбинацией использования «игрового цикла» ( http://gamedesign.wikicomplete.info/game-loop ), где код перемещается и рисует кадры с временным интервалом. При использовании разных устройств кадры могут занимать больше времени, поэтому для этого обычно используется динамическая настройка «уровня детализации» (LOD) и / или использование «пропускания кадра», при котором вы не рисуете кадр в каждом цикле. На самом деле есть еще один вопрос, который демонстрирует базовый алгоритм для этого:

Allegro 5: игровой цикл, который работает на постоянной скорости?

-Oisin

Быстрее работает, как правило, хорошо! Лучший способ обеспечить правильную игру на любом устройстве – это основывать свои обновления на время, прошедшее с момента последнего обновления. Это позволяет игроку чувствовать себя последовательным при работе на более быстром устройстве.

В противном случае вы могли бы добавить вызов сна на более быстрое устройство, но почему бы не сделать более плавным, когда сможете.