使用 WEBGL 的 P5js 草图很慢
P5js sketch slow with WEBGL
我创建了一个草图,绘制了数千条线。正如预期的那样,它很慢。所以,我用 WEBGL 模式尝试了同样的草图。但事实证明这比默认模式慢。
我的理解是 WEBGL 利用 GPU 进行快速渲染。这不是真的吗?
谢谢。
createCanvas(windowWidth, windowHeight, WEBGL)
旁注:我首先在 Processing (java) 中编写了此草图,其中 WEBGL 模式比默认模式快 100 倍。所以,我期望 P5js 也一样。
使用 WEBGL 在 p5.js 中绘制大量描边形状是出了名的慢。请参阅:processing.org Discourse 论坛上的 Sketch runs slow in P5.js WEBGL。如果您特别想绘制直线 and/or 曲线并且您不需要 3d 透视图,那么 2d canvas 实际上会表现得更好(并且在大多数浏览器中它仍然会使用 GPU)。如果你真的在使用 3d 透视和其他 WEBGL 渲染功能,那么关键是要减少绘图指令的数量,并尽可能避免依赖 p5.js 来绘制笔画。为了给你更具体的建议,你将不得不 post 一个你正在尝试做的事情的最小可复制示例。
我创建了一个草图,绘制了数千条线。正如预期的那样,它很慢。所以,我用 WEBGL 模式尝试了同样的草图。但事实证明这比默认模式慢。
我的理解是 WEBGL 利用 GPU 进行快速渲染。这不是真的吗?
谢谢。
createCanvas(windowWidth, windowHeight, WEBGL)
旁注:我首先在 Processing (java) 中编写了此草图,其中 WEBGL 模式比默认模式快 100 倍。所以,我期望 P5js 也一样。
使用 WEBGL 在 p5.js 中绘制大量描边形状是出了名的慢。请参阅:processing.org Discourse 论坛上的 Sketch runs slow in P5.js WEBGL。如果您特别想绘制直线 and/or 曲线并且您不需要 3d 透视图,那么 2d canvas 实际上会表现得更好(并且在大多数浏览器中它仍然会使用 GPU)。如果你真的在使用 3d 透视和其他 WEBGL 渲染功能,那么关键是要减少绘图指令的数量,并尽可能避免依赖 p5.js 来绘制笔画。为了给你更具体的建议,你将不得不 post 一个你正在尝试做的事情的最小可复制示例。