在安卓系统中提高Canvas.drawBitmap()的性能

3

随着时间的推移,我尝试在我的基于瓷砖的游戏中实现视图页面 - 但滑动效果不够流畅。我按照@romangui的建议进行了必要的性能测试,并发现重新绘制我的游戏场景需要大约48毫秒(时间过长)- 我已经扁平化布局,消除了过度绘制,并拥有自定义布局管理器等。

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

有什么方法可以提高性能吗?我只有6种不同的位图,它们被加载一次并重复使用。ARGB_8888。当然,它们不一定与实际显示大小匹配。

如果在测量布局后为实际显示大小预渲染它们,能否获得更好的性能?

还是我应该咬紧牙关,为滚动预先渲染一个包含我的游戏状态的大位图?

1个回答

6

绝对值得一试,而且我可以在进行自定义布局的同时完成它。 - Konstantin Pribluda
好的,这个改进了很多性能(单个字形从0.6毫秒降到了0.2毫秒),所以绘图性能几乎完美。除非明天晚上有人提出更好的解决方案,否则我将接受这个答案。 - Konstantin Pribluda

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接