我已经为Android编写了一款游戏,并在Dev Phone 1上进行了测试。它运行完美,速度恰到好处。然而,我确信手机CPU的速度越来越快了。它们可能已经比dev手机更快了。
我如何确保我的游戏以完全相同的速度运行,无论设备是什么,运行速度有多快?你知道有什么技巧吗?我是不是每次都要检查循环顶部的计时器?
我猜我指的是帧率--但主要是指我的游戏在主游戏循环中运行的速度。
任何理论或经验都会很棒!谢谢。
发布于 2010-02-15 19:06:49
如果你的目标是特定的帧率,基本的想法是你应该有一个定时器或线程,以所需的时间间隔执行游戏的tick方法。对于计时器,其实现相当简单:只需安排一个计时器定期执行即可。在使用线程时,如果线程的运行速度快于所需的帧速率,则必须让线程在两个连续的节拍之间休眠。
然而,这本身并不能带来最好的结果,因为帧之间的间隔可能会略有不同。关于这个问题有一篇很好的文章:http://gafferongames.com/game-physics/fix-your-timestep/。
此外,已经有比dev phone1更慢更快的安卓手机了,所以如果你的目标是所有的安卓设备,你必须为这两种情况做好准备。如果您的游戏不是很占用CPU资源,那么您可能可以在所有设备上实现所需的帧速率。但如果你不限制帧率,你的游戏在速度更快的Android手机上就会太快。
https://stackoverflow.com/questions/2265089
复制相似问题