当前位置: 首页 > 面试题库 >

HTML5 / Canvas是否支持双缓冲?

史磊
2023-03-14
问题内容

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


问题答案:

下面的有用链接除了显示使用双缓冲的示例和优点之外,还显示了使用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);


 类似资料:
  • 本文向大家介绍js判断浏览器是否支持html5,包括了js判断浏览器是否支持html5的使用技巧和注意事项,需要的朋友参考一下 现在HTML5似乎慢慢流行起来了,有些前端高手为了兼容考虑,会在网页中添加对客户端浏览器判断的代码,知道用户浏览器是否支持HTML5,下面分享想我自己使用的2种方法 方法一, 方法二, 方法三: 有更好的方法的话,请联系我!谢谢

  • 根据 Java 教程,Double Wrapper 类支持 String 和 Double 作为参数。 但是我可以使用浮点参数。检查下面的代码。有人能澄清一下吗? 类测试 { } 10.5 10.5

  • 我正在尝试更新Android BluetoothChat示例的代码,以使用Protobuf进行更结构化的数据交换。我还需要byte[]数组字段来发送任意数据,如图像字节数组,但在尝试编译时。proto文件,我得到以下错误。 协议文件/蓝牙消息。proto:8:18:应为字段名。 下面是我的. proto文件。 stackoverflow上的其他几个帖子提到byte[]可以用作文件,下面的页面也说了

  • <canvas> 标签定义图形,比如图表和其他图像,您必须使用脚本来绘制图形。 在画布上(Canvas)画一个红色矩形,渐变矩形,彩色矩形,和一些彩色的文字。你的浏览器不支持 HTML5 的 <canvas> 元素. var c=document.getElementById("myCanvas"); var canvOK=1; try {c.getContext("2d");} catch (e

  • 本文向大家介绍怎么检测浏览器是否支持HTML5特性?相关面试题,主要包含被问及怎么检测浏览器是否支持HTML5特性?时的应答技巧和注意事项,需要的朋友参考一下 写一个canvas 里面可以写一行文字例如:你的浏览器不支持html5,这样的 或者是用<!--[if lte IE8]> <!--[endif]> 这样的一段来判断是否小于等于ie8(是否有等于我记不清楚了,欢迎大神来补充)

  • 本文向大家介绍是否有浏览器还支持HTML5的checkValidity()方法?,包括了是否有浏览器还支持HTML5的checkValidity()方法?的使用技巧和注意事项,需要的朋友参考一下 是的,在Google Chrome和Opera中也可以使用。这也很好- 示例