5

我在 Chrome 上做了一些测试并requestAnimationFrame产生了 61 fps,而setTimeOut( callback, 0 )产生了 233 fps。
如果一个人想要超过 61 fps(我不确定这是为了什么)但是使用 setTimeOut 渲染并使用 requestAnimationFrame 来检测窗口何时失去焦点然后停止超时直到焦点不是更好回报?

还有一个附带的问题:除了 requestAnimationFrame 不调用回调之外,还有其他方法可以检测窗口何时失去焦点?

4

1 回答 1

12

请求动画帧与您的显示器刷新率同步(动画帧数比屏幕上实际显示的帧数多)

这是来自 mozilla 文档的参考:https ://developer.mozilla.org/en/DOM/Animations_using_MozBeforePaint

帧率控制

MozBeforePaint 每秒触发的次数不会超过固定次数,例如 50 或 60。这是故意的,因为现代操作系统和硬件无论如何都不会让浏览器显示比这更多的帧。限制帧速率可避免浪费工作,从而节省 CPU 使用率和功耗并提高整体系统性能。

于 2011-12-21T14:58:31.413 回答