0
我正在通过android studio开发Android游戏,但是当我通过Bitmap.decodeResource和drawBitmap绘制移动背景图像时,我的游戏FPS下降到了10,这是无法玩的。有没有其他方法可以在背景中绘制缓慢移动的图像?我希望图像质量仍然合理,但背景只是一些树木在屏幕上滑动的几张图片。如何在android studio中加载背景图片时减少延迟?
我正在通过android studio开发Android游戏,但是当我通过Bitmap.decodeResource和drawBitmap绘制移动背景图像时,我的游戏FPS下降到了10,这是无法玩的。有没有其他方法可以在背景中绘制缓慢移动的图像?我希望图像质量仍然合理,但背景只是一些树木在屏幕上滑动的几张图片。如何在android studio中加载背景图片时减少延迟?
我希望您每次渲染场景时都不要拨打Bitmap.decodeResource
。你必须只调用一次 - 在开始的时候,当你初始化所有其他的东西:
Bitmap gameBackground=BitmapFactory.decodeResource(getResources(), R.drawable.game_background)
然后,在游戏循环,你可以用canvas.drawBitmap(gameBackground)
渲染图像。当然,最后,在场景循环之后,您必须使用gameBackground.recycle()
释放分配的内存。
当初始化游戏面板时,我只调用一次decodeResource,但当图片分辨率大于600x600时,它仍然是滞后的。这是否应该发生?我还有其他选项可以显示正在移动的背景图片吗? –
您可以尝试将图像放在/ res目录下的drawable-nodpi文件夹中。通过这种方式,您的图像将不会被重新调整大小,默认情况下需要大量内存和CPU。另一件事 - 你的形象最好是PNG。 –
我认为调整大小对我的应用程序是必要的。有没有简单的方法解决这个问题? Android工作室不是为了处理高质量的图像? –