HTML5 / Canvas是否支持双缓冲?

我想做的是在缓冲区上绘制图形,然后将其原样复制到画布上,这样我就可以制作动画并避免闪烁。但是我找不到这个选项。有人知道我该怎么做吗?

回答:

下面的有用链接除了显示使用双缓冲的示例和优点之外,还显示了使用html5

canvas元素的其他一些性能提示。它包含指向jsPerf测试的链接,这些链接将跨浏览器的测试结果汇总到Browserscope数据库中。这样可以确保性能提示得到验证。

为了方便起见,我提供了本文所述的有效双缓冲的最小示例。

// canvas element in DOM

var canvas1 = document.getElementById('canvas1');

var context1 = canvas1.getContext('2d');

// buffer canvas

var canvas2 = document.createElement('canvas');

canvas2.width = 150;

canvas2.height = 150;

var context2 = canvas2.getContext('2d');

// create something on the canvas

context2.beginPath();

context2.moveTo(10,10);

context2.lineTo(10,30);

context2.stroke();

//render the buffered canvas onto the original canvas element

context1.drawImage(canvas2, 0, 0);

以上是 HTML5 / Canvas是否支持双缓冲? 的全部内容, 来源链接: utcz.com/qa/399382.html

回到顶部