Android游戏循环,如何控制速度和帧速率

时间:2010-02-15 09:56:47

标签: android cpu-speed

我为Android编写了一款游戏,我在Dev Phone上测试了它。它运行得很好,速度恰到好处。但是,我确信手机CPU的速度越来越快。它们可能已经比开发电话更快。

无论设备是什么或运行速度如何,我如何确保我的游戏以完全相同的速度运行?你知道任何技巧吗?我应该每次检查循环顶部的某种计时器吗?

我想我指的是帧速率 - 但主要是我的游戏在主游戏循环中运行的速度。

任何理论或经验都会很棒!谢谢。

1 个答案:

答案 0 :(得分:15)

如果您要定位特定的帧速率,基本的想法是您应该有一个计时器或线程,以期望的间隔执行游戏的tick方法。对于定时器,实现非常简单:只需安排定时器以定期执行。使用线程时,如果线程的运行速度超过所需的帧速率,则必须使线程在连续的滴答之间进入休眠状态。

然而,单独这不会导致最佳结果,因为间隔在帧之间可能会有所不同。关于这个问题有一篇非常好的文章:http://gafferongames.com/game-physics/fix-your-timestep/

此外,已经有比开发手机1更慢更快的Android手机。因此,如果您定位所有Android设备,则必须为这两种情况做好准备。如果您的游戏不是那么重CPU,那么可能是您可以在所有设备上实现所需的帧速率。但是如果你不限制帧速率,你的游戏在速度更快的Android手机上会过快。