【问题标题】:Improve performance of Canvas.drawBitmap() on android提高 Canvas.drawBitmap() 在 android 上的性能
【发布时间】:2012-12-04 09:31:42
【问题描述】:

随着时间的推移,我尝试在基于图块的游戏中实现视图寻呼机 - 并且刷卡很麻烦。我按照@romangui 的建议执行了必要的性能测量,发现重绘我的 gaem 字段大约需要 48 毫秒(太长了)——而且我已经扁平化布局,消除了过度绘制以及自定义布局管理器等。

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

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

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

或者我应该硬着头皮用我的游戏状态预渲染一个大位图,只是为了滚动?

【问题讨论】:

    标签: android algorithm optimization canvas bitmap


    【解决方案1】:

    您应该确保不要让 Android 在绘图时使用图像缩放功能。

    尝试使用以前缩放的图像,如Draw a scaled bitmap to the canvas?

    【讨论】:

    • 非常值得一试,我可以在自定义布局的同时做到这一点。
    • 好的,这大大提高了性能(单个字形从 0.6 毫秒变为 0.2),因此绘图性能几乎是完美的。除非明天晚上有人提出更好的解决方案,否则我会接受答案
    猜你喜欢
    • 1970-01-01
    • 2012-09-23
    • 1970-01-01
    • 2018-08-19
    • 1970-01-01
    • 2012-05-01
    • 2012-06-29
    • 1970-01-01
    • 2018-10-14
    相关资源
    最近更新 更多