我刚刚开始使用canvas和webgl,阅读一些文章等等。据我所知,WebGL应该比canvas快得多,但是在接下来的测试中它显然要慢得多:
我在Chrome和Firefox中运行它们,在两个浏览器中,差异大约为80%。
为什么画布渲染速度更快? jsperf是不准确的吗?画布在浏览器中的优化程度是否更高?
(PS:我不是测试的作者,我刚刚找到它们。)
答案 0 :(得分:6)
简短的回答是webgl / opengl不是一次用于绘制SINGLE四元组。 GPU被设计为大规模并行,因此可以从您必须分批绘制的webgl中获得最大收益。
您应该使用适当的webgl实现比较在画布中绘制10k图像与在webgl中绘制10k图像。但是,您找到的大多数webgl库是为了方便客户端而编写的,但不一定是为了获得最佳性能。
我对2d webgl渲染器的实现比画布快100倍(100倍+),特别是如果你需要旋转/缩放图像。当然,如果您需要自己的混合操作,那么webgl是唯一的方法。