HTML5 / Canvas是否支持双缓冲?
我想做的是在缓冲区上绘制图形,然后将其原样复制到画布上,这样我就可以制作动画并避免闪烁。但是我找不到这个选项。有人知道我该怎么做吗?
回答:
下面的有用链接除了显示使用双缓冲的示例和优点之外,还显示了使用html5
canvas元素的其他一些性能提示。它包含指向jsPerf测试的链接,这些链接将跨浏览器的测试结果汇总到Browserscope数据库中。这样可以确保性能提示得到验证。
为了方便起见,我提供了本文所述的有效双缓冲的最小示例。
// canvas element in DOMvar 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