setTimeout、setInterval和requestAnimationFrame之间的区别?

setTimeout、setInterval和requestAnimationFrame之间的区别?,第1张

setTimeout、setInterval和requestAnimationFrame之间的区别?

参考回答:

这里有一篇文章讲的是requestAnimationframe:http://www.cnblogs.com/xiaohuochai/p/5777186.html

与setTimeout和setInterval不同,requestAnimationframe不需要设置时间间隔

RAF采用的是系统时间间隔,不会因为前面的任务,不会影响RAF,但是如果前面的任务多的话,会响应setTimeout和setInterval真正运行时的时间间隔。

特点:(1)requestAnimationframe会把每一帧中的所有DOM *** 作集中起来,在一次重绘或回流中就完成,并且重绘或回流的时间间隔紧紧跟随浏览器的刷新频率。

(2)在隐藏或不可见的元素中,requestAnimationframe将不会进行重绘或回流,这当然就意味着更少的CPU、GPU和内存使用量

(3)requestAnimationframe是由浏览器专门为动画提供的API,在运行时浏览器会自动优化方法的调用,并且如果页面不是激活状态下的话,动画会自动暂停,有效节省了CPU开销。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/4888227.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-11
下一篇 2022-11-12

发表评论

登录后才能评论

评论列表(0条)

保存