Android绘图方法运行缓慢

时间:2012-01-06 13:56:47

标签: android multithreading drawing android-canvas

问候所有人! 我试图在Java中将C#XNA 4.0转换为Java Android dev。首先,我要说微软在他们的移动平台游戏开发方面做得非常好。遗憾的是全世界大约有二十个人真的拥有一部Win Mob 7. *手机...... 在XNA中进行开发非常容易理解,一切都在为您完成。 但是我想把我的应用程序交给人们,不仅仅是给比尔的朋友或者那些拥有少量WM手机的人......

这里有士兵...... 我甚至不能画一个!具有令人满意的速度的位图。 我读完了这本书:

(www.apress.com/9781430230427)由Mario Zechner开始安卓游戏

所以我认为它不会那么糟糕 - 实际上是画画。但是,...... 我尝试了不同的绘图风格...一本来自书(将Screen类呈现给RenderView),然后是本教程中的方法http://www.edu4java.com/androidgame/androidgame3.html,然后是最简单的 http://mikeyhogarth.wordpress.com/2010/10/09/how-to-develop-pong-for-android/用原始语言表达。

我无法理解为什么即使绘制图元和移动3个原始对象也会如此缓慢。

我试图移动1!位图(来自edu4java教程)和它不能一直移动。 即使我应用sleep()方法暂停Thread并重新插入10(或20(或30))FPS,它仍然很可怕。 我在模拟器(比微软更糟糕)以及真实设备(Wildfire S)中尝试过它

好的,好吧,Wildfire S并不是有史以来最快的Android,而是画一个!位图不能是那个硬核。

而且我知道我必须有一个新的Thread用于绘图,我必须通过SurfaceView来绘制,以绘制到Canvas等。

我无法找到可以帮助我的互联网周围的任何东西。 我希望它可能是有史以来最简单的答案,我在互联网历史上看起来像一个感恩的菜鸟,但我会忍受它......

有没有人知道该做些什么更好?

(我不使用OpenGL EP,因为我只对简单的2D游戏感兴趣)

甚至感谢你阅读。

阿尔罕

1 个答案:

答案 0 :(得分:3)

这可能对性能有所帮助:如果您在高API级别上构建,则应该能够在清单中启用硬件加速。它使用简单,应该让事情更顺畅。但诀窍是在需要时启用它并在没有任何密集发生时禁用它。 http://android-developers.blogspot.com/2011/03/android-30-hardware-acceleration.html