setInterval方法与requestAnimationFrame 取舍
2017-05-08 09:53
232 查看
setInterval方法与requestAnimationFrame方法的区别较为微妙。一方面,最明显的差别表现在setInterval可以手动设定FPS,而requestAnimationFrame则会自动设定FPS;但另一方面,即使是setInterval也不能保证按照给定的FPS执行,在浏览器处理繁忙时,很可能低于设定值。当浏览器达不到设定的调用周期时,requestAnimationFrame采用跳过某些帧的方式来表现动画,虽然会有卡滞的效果但是整体速度不会拖慢,而setInterval会因此使整个程序放慢运行,但是每一帧都会绘制出来;
总而言之,requestAnimationFrame适用于对于时间较为敏感的环境(但是动画逻辑更加复杂),而setInterval则可在保证程序的运算不至于导致延迟的情况下提供更加简洁的逻辑(无需自行处理时间)。
总而言之,requestAnimationFrame适用于对于时间较为敏感的环境(但是动画逻辑更加复杂),而setInterval则可在保证程序的运算不至于导致延迟的情况下提供更加简洁的逻辑(无需自行处理时间)。
相关文章推荐
- 系列博文-Three.js入门指南(张雯莉)-网格 setInterval方法 requestAnimationFrame方法 使用stat.js记录FPS
- HTML5 Canvas 绘图方法整理 【十八、Canvas动画/ requestAnimationFrame() 兼容】
- 网页性能管理详解:浅谈chrome-Timeline及window.requestAnimationFrame()方法
- setTimeout, setInterval 与 requestAnimationFrame 隐藏的各种坑
- requestAnimationFrame做游戏or动画时限定帧数的解决方法
- requestAnimationFrame与setInterval,setTimeout
- 网页性能管理详解:浅谈chrome-Timeline及window.requestAnimationFrame()方法
- JavaScript 使用 requestAnimationFrame 代替 setInterval
- HTML5 Canvas 教程 2.4.2 使用 requestAnimationFrame 方法创建动画
- 使用canvas画的圆形水球波纹带进度条的效果,里面使用的是requestAnimationFrame方法(),所以动画的执行只在区域可见的时候才会执行
- web动画深入理解-requestAnimationFrame方法
- 如何停止requestAnimationFrame方法启动的动画
- requestNextAnimationFrame兼容主浏览器方法
- 验证requestAnimationFrame、CSS3以及setinterval实现动画效果的优劣
- requestAnimationFrame方法
- requestAnimationFrame()方法的用法
- 网页性能管理详解:浅谈chrome-Timeline及window.requestAnimationFrame()方法
- 新动画函数requestAnimationFrame
- requestAnimationFrame() 动画效果的函数
- js动画api - requestAnimationFrame