svg或png在PIXI.js和WebGL中获得更好的性能?

时间:2017-06-15 06:41:26

标签: performance svg png webgl pixi.js

我的问题似乎并不新鲜,但就我搜索的日子而言,我无法找到答案。

我试图使用使用webGL的PIXI.js创建一个网页。 我的网页是鼠标移动视差,我的意思是当用户移动他/她的鼠标指针时,对象可以拥有的所有移动都是几个像素。

现在我的问题:我有一些简单的图像,我不知道使用svg或png。

我的图片是这样的:

我想让我的网页尽可能顺利,我不知道使用png或svg 。我搜索了很多,有些人说这取决于png和svg,在我的情况下,我的svgs不会太复杂,但有些人说是因为svg使用CPU而WebGL使用GPU同时使用它们,导致性能不足,以及也有人说在PIXI中使用svg与png没什么区别,因为PIXI从它们那里制作了texure并且没有任何尊重......

我是webGL和Pixi的新手,所以现在有了这些答案我很困惑,顺便说一下,对于我的情况,图像大小并不重要,我只想要尽可能多的平滑度。

非常感谢你的帮助。

1 个答案:

答案 0 :(得分:1)

对于运行时性能没有任何影响,SVG将以任一方式栅格化为纹理。但是在初始化期间,浏览器需要光栅化SVG以从中创建纹理,这可能会对SVG的复杂程度造成严重的性能损失。

然而,由于你正在为网络开发上述惩罚很容易被你从服务器上加载SVG这一事实所抵消,这会引入比光栅化SVG更多的延迟,如果考虑尺寸差异则更是如此在光栅化的PNG和SVG之间(假设你不打算从它们创建微小的纹理)。

所以最终的判决,与SVG一起,它的无损和小,以及可在客户端代码中调整大小和编辑。每次更改内容时,它还可以避免将源资源导出为PNG。