Android:有没有办法加快canvas.drawBitmap?

简单的问题,不知道确定有一个简单的答案!

我可以做什么来加速我的表面绘图?

我正在使用这样的东西:

c.drawBitmap(scaledSprite, X, Y, redPaint); 

我使用的方法必须在屏幕上画出大约25个精灵,所以我使用了一个for循环,这意味着它必须在一帧中显示25。

现在,在我testing过的3款手机上,这个function绝对正常,但是在平板电脑上,速度会变慢。 我已经评论了所有其他绘图方法,只留下了这一个,这绝对是放慢了比赛速度。

有没有人可以给我提高速度的巧妙提示?

我知道开放GL是一种可能性,但现在游戏的大部分都已经写好了,所以如果我能帮上忙的话,我现在不想做任何大的改变。

Solutions Collecting From Web of "Android:有没有办法加快canvas.drawBitmap?"

如果您将SurfaceView设置为较低质量的graphics

 getHolder().setFormat(0x00000004); //RGB_565 

并加载所有位图在相同的configuration

 Options options = new BitmapFactory.Options(); options.inScaled = false; options.inPreferredConfig = Bitmap.Config.RGB_565; 

这将使得它更快,再加上你需要根据帧的延迟进行不同的精灵移动速度。

但是,即使使用这些设置,一个具有多个精灵的街机游戏在平板电脑上也不能很好地工作,因此,如果您想制作一个合适的游戏来销售,您必须创build一个OpenGl框架或使用现成的游戏。