SVGKit 的性能,它应该优于 PNG 吗?
SVGKit performance and should it be preferred over PNG?
我一直在研究 SVGKit,但我发现了相互矛盾的想法。有人说它比 PNG 慢,也有人说它快。
我希望得到推荐以及我应该走哪条路线。当我将矢量图形导出为 PNG 以供显示时,使用 SVG 代替没有意义吗?
当然,这提供了它仍然是矢量的附加值。
还是建议将所有内容导出为 PNG?
您可能会考虑在 Xcode 7 中引入的中间方法。在这里,您将资产作为矢量图像 (PDF) 添加到项目中,并在构建时 Xcode 自动生成 PNG所有需要的尺寸(1x、2x、3x)。
就个人而言,我只在必要时才使用 SVG,比如我需要能够更改图像(部分)的颜色。我相信在 运行 时调整矢量图像大小时可能会影响性能,尽管 Android 默认使用矢量,所以它可能微不足道。
SVG 是最耗费资源的,如果您需要显示可以放大和缩小的内容,则可以使用 SVG,而大多数 UI 图形(徽标、图标等)应该首选 PNG,因为它清晰但仍然轻巧且显示速度快,因此在性能方面无法比较 SVG 和 PNG。
如果您想要 Crystal 清晰的图像,您可以使用基于 pdf 的图形,Xcode 使用 Vector Images in Xcode
支持这些图形
如果您仍然需要实现 SVGKit,我总是建议您使用一些工具(例如 SVGCleaner
)来清理和简化 SVG 以提高性能。
我一直在研究 SVGKit,但我发现了相互矛盾的想法。有人说它比 PNG 慢,也有人说它快。
我希望得到推荐以及我应该走哪条路线。当我将矢量图形导出为 PNG 以供显示时,使用 SVG 代替没有意义吗?
当然,这提供了它仍然是矢量的附加值。
还是建议将所有内容导出为 PNG?
您可能会考虑在 Xcode 7 中引入的中间方法。在这里,您将资产作为矢量图像 (PDF) 添加到项目中,并在构建时 Xcode 自动生成 PNG所有需要的尺寸(1x、2x、3x)。
就个人而言,我只在必要时才使用 SVG,比如我需要能够更改图像(部分)的颜色。我相信在 运行 时调整矢量图像大小时可能会影响性能,尽管 Android 默认使用矢量,所以它可能微不足道。
SVG 是最耗费资源的,如果您需要显示可以放大和缩小的内容,则可以使用 SVG,而大多数 UI 图形(徽标、图标等)应该首选 PNG,因为它清晰但仍然轻巧且显示速度快,因此在性能方面无法比较 SVG 和 PNG。 如果您想要 Crystal 清晰的图像,您可以使用基于 pdf 的图形,Xcode 使用 Vector Images in Xcode
支持这些图形如果您仍然需要实现 SVGKit,我总是建议您使用一些工具(例如 SVGCleaner
)来清理和简化 SVG 以提高性能。