【问题标题】:setTimeOut yields 233 fps while requestAnimationFrame yields 61setTimeOut 产生 233 fps 而 requestAnimationFrame 产生 61
【发布时间】:2011-12-21 14:56:50
【问题描述】:

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

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

【问题讨论】:

    标签: javascript settimeout requestanimationframe


    【解决方案1】:

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

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

    帧率控制

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

    【讨论】:

      猜你喜欢
      • 2018-05-20
      • 2018-05-28
      • 1970-01-01
      • 2015-12-02
      • 1970-01-01
      • 1970-01-01
      • 2016-12-12
      • 1970-01-01
      相关资源
      最近更新 更多