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