2011-05-25 61 views
0

过去几个月我一直在为Android开发一款游戏,而且它刚刚完成。为了测试目的,我最近购买了摩托罗拉Droid,因为我使用HTC Incredible开发了游戏。在我难以置信的游戏中,我可以得到非常稳定的59 fps。在Droid上,游戏变得非常波涛汹涌,平均约为40 fps。这两款手机都运行Android 2.2。Android Canvas在Droid上表现糟糕

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

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

那么,这是摩托罗拉Droid的大致上限?如果是这样......我的游戏非常简单,并且不占用CPU,那么我该怎么办?有成千上万的其他Android游戏比我的游戏要求更高,但它们似乎运行得非常顺利。

这是事实,我使用Android的内置画布,而不是Open-GL或其他替代方案?有人会推荐这么做吗?

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

在此先感谢。

回答

0

OpenGL ES是要走的路。无论如何,画布最有可能在OpenGL ES之上实现,并且它的声音效果不是很好。

+0

我得看看我的下一场比赛。你对AndEngine有什么看法?但就目前而言...我可能花了超过100个小时在这个应用程序,所以只是把它扔出窗外不是一个选择。除了完全重新开始之外还有其他选择吗? – 2011-05-25 22:41:20

+2

Canvas仅在Android 3.0之前提供软件。 – adamp 2011-05-25 22:56:34

+0

@adamp那么这是否意味着Canvas不能像OpenGL那样直接访问硬件?因此,它不那么快/强大的原因? – 2011-05-25 23:03:17

0

40fps非常好,人眼只能在帧率低于25fps时检测到晃动。超过15fps的任何内容都被视为“全动”。

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

除此之外,也许有一个小故障计算帧率?