【问题标题】:SVG render SDK vs NDKSVG 渲染 SDK 与 NDK
【发布时间】:2013-10-07 18:56:04
【问题描述】:
我想知道用更大的 SVG 文件渲染 SDK 端和 NDK 端的速度差异是多少。
我已尝试使用 NDK here,但不支持更大的 SVG 文件。
可能是最好的 SDK 解析器 - 至少这是我正在使用的 androidsvg
进入 Native 方面值得付出努力吗? - 如果递归调用被重写为迭代调用,则没有堆限制。
SDK 取决于设备:使用大 SVG 文件 (350kb) 渲染 1-12 秒。
【问题讨论】:
标签:
android
performance
svg
android-ndk
performance-testing
【解决方案1】:
我不知道 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 的所有文件并使用缓存的文件。
这需要时间,只是第一次。
它会占用空间,用户可以清除它。 - 比重新制作,如果需要的话