Pau*_*man 8 xna android frame-rate opengl-es android-canvas
我将2D动作游戏从Windows Phone 7(在XNA 4.0中开发)移植到Android.我正在使用很多 Canvas.drawBitmap()调用 - 每帧更新大约200-300 - 每次调用使用不同的Paint来处理绘制时不同的透明度和颜色.这是管理粒子系统和各种其他叠加和游戏内效果以及平铺背景和游戏中的精灵.我没有进行任何按需调整大小或旋转,它是相同大小的简单src-> dest矩形.
在WP7上,这是以30 + fps运行但我在我的测试'机器人硬件(三星Galaxy S)上努力获得12fps.这使得游戏无法播放.在分析了代码之后,我已经确认我的所有时间都在Canvas.drawBitmap()中丢失了
我似乎遵循所有常见的性能建议 - 使用SurfaceView,注意GC,因此不会创建大量的一次性对象,并避免使用Drawables.
我是否正确理解Canvas.drawBitmap()是否受CPU限制,如果我想提高性能,我必须切换到将使用GPU的OpenGL?我无法在任何地方找到它,但是在一些评论之间进行阅读,我认为这可能是我的下一步......?
| 归档时间: |
|
| 查看次数: |
2378 次 |
| 最近记录: |