我们目前正在使用opengles开发Android游戏。我们现在正试图支持不同的分辨率,但是,当允许大分辨率时,我们正在测试的moto droid似乎落后于它的原始分辨率(800x400)。我们将帧锁定为30 fps,当我们检查时,我们的游戏只需要大约15-20毫秒就可以更新并在机器人上绘图,但是,在调用ondrawframe之间有时会有30-60毫秒的时间。我的Galaxy S设备没有这个问题,当我们把分辨率放在摩托罗拉机器人上时,它看起来非常好。
我们已经调查了这个问题,并且已经找到了人们看似完全相同的问题,但没有人可以提供解决方案。市场上似乎使用opengles的其他游戏在moto机器人上运行良好。
我们缺少什么?我们需要打电话或做什么?似乎没有理由在对ondrawframe的调用之间有30-60毫秒的时间,特别是当原始分辨率(800x400)没有跳跃和界限大于默认值533x320时,或者它是什么意思到它当不允许大屏幕时,因为缓冲交换它似乎是荒谬的。即使没有任何东西被吸引到屏幕上,也会发生滞后,所以这不是因为我们画的太多了。
如何解决这个问题的任何启示或帮助都会很棒。
答案 0 :(得分:0)
您必须提供更多信息。如果它不是因为绘图,那么它应该是因为任何计算或对象分配代码。在游戏过程中经常分配对象,调用GC,这对游戏不利。
有关Android游戏性能和分配内存的事情,请参阅以下链接。
我建议您观看由Google Android Group完成的这两个视频。
http://www.youtube.com/watch?v=U4Bk5rmIpic&feature=player_embedded
http://www.youtube.com/watch?v=7-62tRHLcHk&feature=player_embedded
希望有助于优化。