我想知道用更大的 SVG 文件渲染 SDK 端和 NDK 端的速度差异是什么。
我在这里尝试过使用 NDK,但不支持更大的 SVG 文件。可能是最好的 SDK 解析器 - 至少这是我使用的是androidsvg
进入 Native 方面值得付出努力吗?- 如果递归调用被重写为迭代调用,则没有堆限制。
SDK 取决于设备:使用大 SVG 文件 (350kb) 渲染 1-12 秒。
我想知道用更大的 SVG 文件渲染 SDK 端和 NDK 端的速度差异是什么。
我在这里尝试过使用 NDK,但不支持更大的 SVG 文件。可能是最好的 SDK 解析器 - 至少这是我使用的是androidsvg
进入 Native 方面值得付出努力吗?- 如果递归调用被重写为迭代调用,则没有堆限制。
SDK 取决于设备:使用大 SVG 文件 (350kb) 渲染 1-12 秒。
我不知道 NDK 怎么样,但我拿了 2 部具有相同 Android 操作系统和相同 svg 的手机。
Nexus One 4.2.2(氰模式)
Thl w8s ,又名 Galaxy s4 中文克隆:
我开始打印出最大可用内存,并启用了大堆。
比从资产加载 svg 文件。艺术家制作的 svg,文件大约 350kb,SVG dom 对象在内存中大约有 7-8Mb,所以这不是一个圆 + 1 个矩形......
比基于屏幕分辨率需要将 svg 渲染到正方形区域。
480x800 到 356x356 的区域。
1080x1920的手机面积更大,可以算算,现在我比较懒。无论如何,这需要填充更多的像素区域。
我认为 400 毫秒是他可以接受的结果来制作徽标/背景。不需要经常重新绘制,因为它不是游戏元素。
对于游戏:第一次加载从 SVG 转换为 png 的所有文件并使用缓存的文件。这需要时间,只是第一次。它会占用空间,用户可以清除它。- 比重新制作,如果需要