18910140161

关于html5 canvas的预渲染?

顺晟科技

2022-09-16 07:10:27

321

(浏览器是chrome)预渲染就是把部分常要用到的图案画到buffer中,使用时直接把图案从buffer画到canvas上,无需在canvas上再进行复杂的绘制。(注:是预渲染,buffer创建一次后重复使用,不是双缓冲)。我新建了两个canvas对象,一个当作画布,一个不显示用作buffer。结果我发现,使用buffer反而大大降低了绘制速度。后来我通过toDataURL方法把buffer数据保存到Image中,绘制时使用Image对象作为源,这样速度就感觉很好了。

查网上资料,说buffer大小能满足缓冲图案大小就行,太大了会引起性能下降,但就算我把大小设置成刚刚好,依然是慢的要死。只有转成Image才会快起来。

请问为什么用canvas缓冲图案如此慢,而Image快?

相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航