1

我正在尋找寫一個簡單的幀每秒動畫基準Javascript實用程序。 FPS在這裏可能是一個失落的術語,但理想情況下,這可以讓我更準確地比較和衡量不同動畫(CSS3/canvas/webgl)在瀏覽器和設備之間的表現。 (所以不是測試特定代碼的東西 - 而是一個包含在頁面中的JS庫,它可以自己完成它的事情)基於網絡動畫的基準FPS?

我正在尋找關於如何最好地接近這個問題的想法。

例如我希望requestAnimationFrame是我正在尋找的東西 - 我一直在閱讀它,它似乎每次瀏覽器都可以重新繪製/動畫的東西正確的時候調用它?因此,通過相同的邏輯,如果(當運行動畫時)瀏覽器不常用(比如在空白運行中) - 我們已經有了一些數字,我們可以再次進行比較。

問題當然是requestAnimationFrame不像我想的那樣廣泛(特別是在移動設備上)。可以setInterval在那裏使用?我知道它並不可靠,但也許可以用於我的優勢 - 例如,如果我將其稱爲每秒1000次,然後再次比較它每秒執行多少次 - 這已經是一種基準。

這裏唯一的問題是,該方法將回報測量任何數量的問題,而不僅僅是動畫 - 例如我可以想象瀏覽器跳過一個時間間隔,因爲它在DOM中做某事等等。認爲瀏覽器是一個單一進程的動物,所以DOM的改變也會影響動畫 - 但是如果CSS3動畫是GPU硬件加速的話,這仍然是真的。

只是一個理論 - 所以任何想法都非常感謝! ;-)

回答

0

這看起來像它應該很容易適應一系列的功能,可以在你的特定情況下工作(「做它自己的事情」):https://gist.github.com/1156092