JavaScript 2D渲染库[pixie.js vs three.js]

JavaScript 2D渲染库[pixie.js vs three.js],javascript,html,performance,three.js,webgl,Javascript,Html,Performance,Three.js,Webgl,很少有JavaScript库允许使用WebGL渲染二维图形。我发现,最受欢迎的是和。它们都允许您使用WebGL或画布渲染器(对于不支持WebGL的设备) 我想问您,在以下条件下,这些库中哪一个更好: 我希望它只用于二维图形,所以三维支持是完全可选的 性能非常重要-许多元素、文本、平滑缩放、翻译它们的能力等都是至关重要的 画布渲染器(当设备不支持WebGl时非常重要),我希望使用两个渲染器看到相同(或非常相似)的结果 如果有另一个库,在这种特殊情况下,我应该简化它,请随意告诉我:)我有完全相同

很少有JavaScript库允许使用WebGL渲染二维图形。我发现,最受欢迎的是和。它们都允许您使用WebGL或画布渲染器(对于不支持WebGL的设备)

我想问您,在以下条件下,这些库中哪一个更好:

  • 我希望它只用于二维图形,所以三维支持是完全可选的
  • 性能非常重要-许多元素、文本、平滑缩放、翻译它们的能力等都是至关重要的
  • 画布渲染器(当设备不支持WebGl时非常重要),我希望使用两个渲染器看到相同(或非常相似)的结果

如果有另一个库,在这种特殊情况下,我应该简化它,请随意告诉我:)

我有完全相同的用例,只是尝试了两者。对于5000个及以上的精灵,在three.js中加载大量静态精灵(来自同一个图像)的速度更快,但在pixi中,仅对其中少数精灵设置动画的帧速率更好(同样,对于5000个精灵)。(这是在桌面上的Chrome和IE9上测试的)

最大的区别在于Canvas渲染器,pixi的autodetect为相同代码提供与WebGL相同的结果(如果较慢),但3.js的Canvas渲染器意味着要实现可移植代码,必须使用粒子。如果你不经常使用精灵,而且大多有四边形或三角形,那就不会有问题

如果教程等的可用性是一个问题,那么three.js更为成熟,因此有更多的资料


否则,对于同时渲染的多达2-3k的元素,我会选择pixi。

使用了很多
pixi.js
,目前使用的是
three.js

pixi.js
基于AS3 API,该API已用于flash游戏。这意味着API(结构)经过测试和试用的时间超过了
three.js
。(仅用于二维图形)

three.js
由于更受欢迎,它在某些边缘案例中可能更为流行。例如,在添加着色器方面,它比pixi.js更具灵活性
pixi.js
尚无法添加“原始”着色器,而不在着色器代码顶部添加任何内容。这对于指定着色器版本“#version 300 es”(默认情况下使用旧版本)非常重要