很少有JavaScript库允许使用WebGL渲染2D图形。我发现,最受欢迎的是three.js和pixi.js。它们都允许您使用WebGL或canvas渲染器(对于不支持WebGL的设备)。
我想问你在以下术语中哪些库更好:
如果有另一个图书馆,我应该在这个特殊的情况下得到调整,请随时告诉它:)
答案 0 :(得分:12)
我有完全相同的用例,只是试过两个。对于5000个精灵及以上,加载大量静态精灵(来自相同图像)的速度在three.js中更快,但是动画只有少数几个精灵在pixi中提供更好的帧速率(同样,对于5000个精灵)。 (这是在桌面上的Chrome和IE9上测试的)
最大的区别在于Canvas渲染器,其中pixi的自动检测为相同的代码提供与WebGL相同的结果(如果更慢),但是三个.js的Canvas渲染器doesn't support the Sprite type意味着实现您必须的可移植代码使用粒子。如果你不使用那么多的精灵并且大多数都有四边形或三角形,那就不是问题了。
如果教程等的可用性完全是个问题,那么three.js就更成熟了,所以有更多的材料。
否则,对于同时渲染的最多2-3k个元素,我会选择pixi。
答案 1 :(得分:1)
与pixi.js
一起工作很多,目前与three.js
一起工作。
pixi.js
基于用于Flash游戏的AS3 API。这意味着该API(结构)已经过测试和尝试超过three.js
。 (仅用于2D)
three.js
更为流行,在某些情况下可能更为最新。例如,在添加着色器时,它比pixi.js
具有更大的灵活性。 pixi.js
尚无法添加“原始”着色器,而无需在着色器代码的顶部附加任何内容。对于指定着色器版本“ #version 300 es”(pixi.js
默认使用较旧的版本),这一点很重要。