在现代 HTML5 浏览器中测量帧速率(即 FPS)的最准确方法是什么?我对 Canvas 动画的 FPS 特别感兴趣。
http://weblogs.mozillazine.org/roc/archives/2010/11/measuring_fps.html会告诉您尝试通过计算 setTimeout 运行的频率来测量帧率是不准确的。浏览器可以在屏幕绘制之间多次运行您的超时回调。
原来 Mozilla 有一个 window.mozPaintCount https://developer.mozilla.org/en/DOM/window.mozPaintCount available,它应该提供准确的 FPS。但是,这仅适用于 Mozilla。
对于类似的问题,Chrome 有一个 Unresolved 问题:http://code.google.com/p/chromium/issues/detail?id=65348
在 Chrome 中检查硬件加速 FPS 的手动方法是获取 Chrome Beta channel (截至发布日期)并转到 about:flags 并打开 FPS 计数器。但是,在 Mac 上,加速仅在使用 WebGL 时打开。因此,无法在 Chrome for Mac 上检查 Canvas 的 FPS。
准确测量 HTML5 FPS 的其他策略是什么?
谢谢!
最佳答案
请检查:
https://github.com/mrdoob/stats.js - 这是我所知道的最好的 FPS 监视器。它还为您提供了一些有关内存/CPU 使用情况的统计信息(您必须使用特殊参数运行浏览器才能公开该数据),但也可能会遇到您描述的不准确问题。
此外,在新的 chrome 版本(可能是金丝雀流)中,应该有一个在 about:flags
中显示 FPS 的选项。
关于html - 如何准确测量 HTML5 浏览器帧率 (FPS)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5415384/