基于网络动画的FPS基准测试?

时间:2012-07-18 08:16:24

标签: javascript css3 benchmarking setinterval requestanimationframe

我正在寻找每秒简单的帧动画基准Javascript实用程序。 FPS在这里可能是一个失败的术语,但理想情况下,我可以更准确地比较和衡量不同的动画(CSS3 / canvas / webgl)在浏览器和设备之间的表现。 (所以不是只测试特定代码的东西 - 而是一个包含在页面中并且能够独立完成其工作的JS库)

我正在寻找有关如何最好地接触这一主题的想法。

例如,我希望requestAnimationFrame是我正在寻找的东西 - 我一直在阅读它,它似乎每当浏览器可用于重绘/动画一些正确的时候调用它?因此,如果(运行动画时)浏览器不常用(例如在空白运行中),我们已经有了一些我们可以在那里再次比较的数字。

问题当然是requestAnimationFrame不像我想的那样广泛支持(特别是在移动设备上)。可能会以某种方式使用setInterval吗?我理解它不那么可靠,但也许这可以用于我的优势 - 例如,如果我每秒调用1000次,然后再次比较它每秒真正执行的次数 - 那已经是一种基准了。

这里唯一的问题是该方法会为任意数量的问题提供测量,而不仅仅是动画 - 例如,我可以想象浏览器跳过一个间隔因为它在DOM中做某事等等。你可能会争辩浏览器是单进程动物,因此DOM更改也会影响动画 - 但是如果例如CSS3动画是GPU硬件加速的话,情况仍然如此吗?

目前只是一个理论 - 所以任何想法都非常感谢! ; - )

1 个答案:

答案 0 :(得分:0)

看起来它应该很容易适应一系列适合你特定情况的功能(“做自己的事”):https://gist.github.com/1156092