Droid上的Android Canvas性能很糟糕

时间:2011-05-25 22:32:26

标签: android performance android-canvas

过去几个月我一直在为Android开发一款游戏,它刚刚完成。我最近购买了摩托罗拉Droid用于测试目的,因为我使用HTC Incredible开发了游戏。在我的Incredible上我可以在整个游戏中获得相当稳定的59 fps。在Droid上,游戏变得非常不稳定,平均大约40 fps。这两款手机都运行Android 2.2。

我查看了技术规格,这里是我注意到的可能影响游戏玩法的唯一区别:1 GHz处理器vs 550 MHz和512 MB RAM vs 256 MB RAM。

只是为了咯咯笑,我想我会将游戏剥离到一个非常小的状态,看看是否是我的编码责任。我把它剥离到了唯一不足的地方是绘制主菜单并在屏幕上移动各种位图。不是超过45 fps的头发。

那么,这是摩托罗拉Droid的近似上限吗?如果是这样......我的游戏非常简单且非CPU密集型,那么我该怎么办?还有成千上万的其他Android游戏比我自己的要求更高,但它们似乎运行得非常顺利。

我使用Android的内置Canvas而不是Open-GL或其他替代方案吗?有人会建议这样做吗?

有人可以告诉我这可能是我的问题吗?

提前致谢。

2 个答案:

答案 0 :(得分:0)

OpenGL ES是最佳选择。无论如何,Canvas最有可能在OpenGL ES之上实现,并且它的声音效率不高。

答案 1 :(得分:0)

40fps是相当不错的,当帧速率低于25fps时,人眼只能检测到急动。高于15fps的任何东西都被视为“全动作”。

如果你可以看到抖动,那么当垃圾收集器启动时游戏可能暂停 - 你可以通过减少你创建的对象的数量来减少这种情况,你应该能够通过使用ddms来看到它。

除此之外,可能存在计算帧速率的故障?