setInterval方法与requestAnimationFrame 取舍

setInterval方法与requestAnimationFrame方法的区别较为微妙。一方面,最明显的差别表现在setInterval可以手动设定FPS,而requestAnimationFrame则会自动设定FPS;但另一方面,即使是setInterval也不能保证按照给定的FPS执行,在浏览器处理繁忙时,很可能低于设定值。当浏览器达不到设定的调用周期时,requestAnimationFrame采用跳过某些帧的方式来表现动画,虽然会有卡滞的效果但是整体速度不会拖慢,而setInterval会因此使整个程序放慢运行,但是每一帧都会绘制出来;

总而言之,requestAnimationFrame适用于对于时间较为敏感的环境(但是动画逻辑更加复杂),而setInterval则可在保证程序的运算不至于导致延迟的情况下提供更加简洁的逻辑(无需自行处理时间)。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • requestAnimationFrame这个API,可能很多人都听过,但并没有真正用过。MDN上的解释是: wi...
    Perkin_阅读 3,592评论 0 4
  • 一:在制作一个Web应用或Web站点的过程中,你是如何考虑他的UI、安全性、高性能、SEO、可维护性以及技术因素的...
    Arno_z阅读 1,275评论 0 1
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,480评论 25 709
  • 《菩萨蛮》 满宫明月梨花白,方塘半亩一鉴开。鸳鸯双双飞,画中拂罗衣。 溪边青青草,绿波映小桥。杨柳色依依,藕花深处归。
    意念的康桥阅读 248评论 0 0
  • 姓名:华林 公司:宁波大发化纤有限公司 【日精进打卡第45天】 【知~学习】 《六项精进》1遍 《大学》1遍 《经...
    hualincool阅读 114评论 0 0