我已经完成了我的分析,似乎我的大部分时间都花在drawBitmap中,在每一帧上都被称为(理解)。
我使用LunarLander示例中演示的SurfaceView /更新线程/画布锁定方法。但我已经改变了(根据this question)
Traceview向我展示了这个drawBitmap在我的800x480设备上每帧需要5毫秒。我可以得到更好的东西,还是只是“刻在石头上”的东西,我只需要优化代码的其他部分以达到每秒好的帧数?
答案 0 :(得分:10)
这取决于很多东西,但通常drawBitmap()会尽可能快。在您的特定情况下,如果您不需要混合,请确保您使用的是不透明的位图。此外,尝试使用与Surface兼容的格式的Bitmap。例如,如果使用16位Surface,绘制16位(RGB565)位图将非常快(它只是一个memcpy调用。)如果Surface是32位,请使用ARGB8888不透明位图。
答案 1 :(得分:0)
最快的绘图库正在进行竞争... libgdx目前正在赢得...样本应用程序也像你一样使用800x480。
http://code.google.com/p/libgdx/wiki/SimpleApp#Project_Setup