【发布时间】:2011-02-17 05:24:40
【问题描述】:
我想做的是在缓冲区上绘制我的图形,然后能够将其原样复制到画布上,这样我就可以制作动画并避免闪烁。但我找不到这个选项。有人知道我该怎么做吗?
【问题讨论】:
-
我的经验是画布绘图是由浏览器合并的,因此动画很流畅。你能分享一些你描述的闪烁的代码吗?
-
我注意到 IE 在某些情况下使用
explorercanvas时会闪烁,但这当然不是 HTML5 并且是仅由 VML 模拟的canvas元素。不过,我从未见过任何其他浏览器这样做。 -
真正愚蠢的初学者代码,不会闪烁。 jsfiddle.net/linuxlizard/ksohjr4f/3版权所有,应该闪烁。浏览器令人印象深刻。
-
如果你有异步绘图功能,你只需要双缓冲。只要您不屈服于浏览器,即使绘图同步,您就可以了。一旦你在其中添加了一个 Promise 或 setTimeout 或其他东西,你就会返回给浏览器,它会在它完成之前绘制当前状态,从而有效地导致闪烁。
标签: javascript html canvas double-buffering