你必须知道的10个提高Canvas性能技巧
2015-11-17 09:43
766 查看
你还在抱怨自己写的canvas demo徘徊在10帧以下吗?你还在烦恼打开自己写的应用就听见CUP风扇转吗?你正在写一个javascript Canvas库吗?那么下面九点就是你必须知道的!
错误代码:
?
正确代码:
?
这里m_canvas的宽度和高度控制得越小越好。
错误代码:
?
正确代码:
?
错误代码:
?
正确代码:
?
错误代码:
?
正确代码:
?
?
?
一般情况下:clearRect的性能优于fillRect优于canvas.width
= canvas.width;
几种取整数的方法:
?
?
与渲染无关的计算交给worker
复杂的计算交给引擎(自己写,或者用开源的),比如3D、物理
缓存load好的图片,canvas上画canvas,而不是画image
一.预渲染
错误代码:?
?
二.尽量少调用canvasAPI
错误代码:?
?
三.尽量少改变CANVAS状态
错误代码:?
?
四.重新渲染的范围尽量小
错误代码:?
?
五.复杂场景使用多层画布
?
六.不要使用阴影
?
七.清除画布
一般情况下:clearRect的性能优于fillRect优于canvas.width= canvas.width;
八.像素级别操作尽量用整数
几种取整数的方法:?
九.使用requestAnimationFrame制作游戏或动画
?
十.其他
与渲染无关的计算交给worker复杂的计算交给引擎(自己写,或者用开源的),比如3D、物理
缓存load好的图片,canvas上画canvas,而不是画image
相关文章推荐
- CSS3属性教程与案例分享
- CSS3属性教程与案例分享
- CSS3的calc()使用
- 使用CSS3的appearance属性改变元素的外观
- CSS3美化图片
- CSS3质感分析——表面线性渐变
- 分析选项卡底部内凹圆角制作
- 细说百度图片栏目——图片展示效果
- 8个实用的响应式设计框架
- 20+ Animation Scripts, Libraries and Plugins
- HTML5中在客户端验证文件上传的大小
- Canvas 在高清屏下绘制图片变模糊的解决方法
- 如何使用CSS3画出一个叮当猫
- 原生js结合html5制作小飞龙的简易跳球
- 使用canvas实现仿新浪微博头像截取上传功能
- 三个不常见的 HTML5 实用新特性简介
- CSS3实例分享之多重背景的实现(Multiple backgrounds)
- 低版本IE正常运行HTML5+CSS3网站的3种解决方案