为什么WebGL比Canvas慢?

NoN*_*ded 4 javascript html5 canvas webgl

我刚开始玩canvas和webgl,阅读一些文章等等.根据我的知识,WebGL应该比canvas快得多,但是在接下来的测试中,它明显变慢了:

我在Chrome和Firefox中运行它们,在两个浏览器中,差异大约为80%.

为什么画布渲染速度更快?jsperf是不准确的吗?画布在浏览器中变得更加优化吗?

(PS:我不是测试的作者,我刚刚发现它们.)

Wac*_*per 6

简短的回答是webgl/opengl不是一次用于绘制SINGLE四边形.GPU被设计为大规模并行,因此可以从您必须分批绘制的webgl中获得最大收益.

您应该使用适当的webgl实现比较在画布中绘制10k图像与在webgl中绘制10k图像.但是,您找到的大多数webgl库是为了方便客户端而编写的,但不一定是为了获得最佳性能.

我对2d webgl渲染器的实现要快得多于canvas(100次+),特别是如果你需要旋转/缩放图像.当然,如果您需要自己的混合操作,那么webgl是唯一的方法.