提高 Android 上 Canvas.drawBitmap() 的性能

Kon*_*uda 2 algorithm optimization android canvas bitmap

随着时间的推移,我尝试在我的基于 tile 的游戏中实现视图寻呼机 - 并且滑动很笨拙。我执行了@romangui 建议的必要性能措施,并发现重绘我的 gaem 字段需要大约 48 毫秒(太长了) - 我已经扁平化布局,消除了过度绘制有我的自定义布局管理器等。

我发现在 GN 上绘制一个图块需要大约 0.600 毫秒 - 对于所有 81 个图块来说太长了。时间实际上花在Canvas.drawBitmap(...)

任何想法如何提高性能?我只有 6 个不同的位图,它们被加载一次并重复使用。ARGB_8888。当然,它们不一定与实际显示的尺寸相匹配。

如果在测量布局后针对实际显示尺寸预先渲染它们,我会获得更好的性能吗?

或者我应该咬紧牙关,用我的游戏状态预渲染一张大的位图只是为了滚动?

Gan*_*nus 5

你应该确保你没有让 Android 在绘图时使用图像的缩放。

尝试使用以前缩放的图像,如在画布上绘制缩放位图?