html5 canvas实现简单的双缓冲

编程之家收集整理的这篇文章主要介绍了html5 canvas实现简单的双缓冲编程之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
HTML5画布上有很多有趣的东西,请求动画框架和用JavaScript制作动画,今天的这篇文章给大家分享内容是关于HTML5 canvas实现简单的双缓冲,有需要的朋友可以看一看文章中的方法

对于更高级的内容,您可能希望使用画布,这通常是GPU加速的,并且允许使用window.request.tionFrame进行相当高和稳定的帧速率。(推荐课程:HTML5视频教程

如果您需要在画布上进行双重缓冲,那么一种流行的方法创建第二个画布元素并绘制到那个画布元素,然后使用drawImage将完成的图像绘制到主画布,结果如下:

var primaryCtx = document.getElementByID("canvas").getContext("2d");
var secondaryCanvas = document.createElement("canvas"),
      secondaryCtx = secondaryCanvas.getContext("2d");
      (function drawFrame() {
    requestAnimationFrame(drawFrame);
    secondaryCtx.fillStyle = "#f00";
    secondaryCtx.fillRect(10,10,20,20);
    primaryCtx.drawImage(secondaryCanvas);
    })();

输入CTX.SAVER()和CTX.ReBUG()

今天,我发现有一种方法更清洁,效果和上面的方法一样好:

(function drawFrame() {
    requestAnimationFrame(drawFrame);
    primaryCtx.save(); //Freeze redraw
    primaryCtx.fillStyle = "#f00";
    primaryCtx.fillRect(10,10,20,20);
    primaryCtx.restore(); //And Now do the redraw
    })();

尽管名称很奇怪,但是它只是冻结了上下文的呈现,然后在完成绘图之后恢复呈现。

本篇文章这里就全部结束了,更多精彩内容大家可以关注编程之家网相关视频教程栏目!!!

解锁查看全部内容

付费后查看完整内容
限时 微信扫码支付 ¥9.9 19.9

总结

以上是编程之家为你收集整理的html5 canvas实现简单的双缓冲全部内容,希望文章能够帮你解决html5 canvas实现简单的双缓冲所遇到的程序开发问题。

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

HTML5相关文章

网上看到一片好文,转载保留 高性能 CSS3 动画 尽可能的让动画元素不在文档流中,以减少重排 position: fixed; position: absolute; 尽可能多的
//anchorpoints:贝塞尔基点 //pointsAmount:生成的点数 //return 路径点的Array function CreateBezierPoints(anchorpoint
h5的28个新特性的详细介绍
分享一个用h5制作的网页版扫雷游戏实例代码
H5 的复制操作实例代码
分享一个vue全局配置的实例代码
分享几个html5冷门小知识
html5web存储实例代码
微信公众号搜索 “ 程序精选 ” ,选择关注!
微信公众号搜 "程序精选"关注