(浏览器是chrome)
预渲染就是把部分常要用到的图案画到buffer中,使用时直接把图案从buffer画到canvas上,无需在canvas上再进行复杂的绘制。(注:是预渲染,buffer创建一次后重复使用,不是双缓冲)。我新建了两个canvas对象,一个当作画布,一个不显示用作buffer。结果我发现,使用buffer反而大大降低了绘制速度。后来我通过toDataURL方法把buffer数据保存到Image中,绘制时使用Image对象作为源,这样速度就感觉很好了。
查网上资料,说buffer大小能满足缓冲图案大小就行,太大了会引起性能下降,但就算我把大小设置成刚刚好,依然是慢的要死。只有转成Image才会快起来。
请问为什么用canvas缓冲图案如此慢,而Image快?