0

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

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

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

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

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

有人可以启发我这里可能是我的问题吗?

提前致谢。

4

2 回答 2

0

OpenGL ES 是要走的路。无论如何,Canvas 很可能是在 OpenGL ES 之上实现的,而且听起来效率不是很高。

于 2011-05-25T22:35:18.657 回答
0

40fps 已经不错了,人眼只有在帧率低于 25fps 时才能察觉到抖动。任何高于 15fps 的都被认为是“全动态”。

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

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

于 2011-08-08T23:11:03.490 回答