首页 > web前端 > H5教程 > 正文

html5 canvas实现简单的双缓冲

不言
发布: 2018-11-07 10:16:10
原创
4876人浏览过

在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
    })();
登录后复制

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

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

以上就是html5 canvas实现简单的双缓冲的详细内容,更多请关注php中文网其它相关文章!

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号