我讀this article約javascript
優化,有以下一段有:什麼渲染JavaScript的優化背景下架
當視覺上的變化是在你想在正確的時間做你的工作 屏幕發生對於瀏覽器來說,這正好在 框架的開頭。確保您的JavaScript將在 幀開始處運行的唯一方法是使用requestAnimationFrame。
而且這樣的:
框架或樣品可以使用的setTimeout或setInterval的做視覺 變化如動畫,但這個問題是 回調會在某個時候在框架上運行,可能就在 的末尾,而且這通常會導致我們錯過一幀,導致畫面不對齊, 。
我在想這是什麼框架?它是指瀏覽器或設備以60 fps間隔放置的圖片嗎?如果是這樣,那麼callback run at some point in the frame
如何在通道中說明?
謝謝,我需要一些時間來處理它在我的頭:)。我會盡快回復問題 – 2015-04-02 12:30:31
_如果屏幕更新與幀速率同步 - 我假設通過'幀速率'這裏指的是瀏覽器'重繪週期速率'?看起來有兩個框架:第一個是由設備刷新屏幕,第二個是由瀏覽器生成的,通常稱爲「repaint」,是否正確? – 2015-04-03 18:22:23
@Maximus:幀頻是屏幕的更新週期,這是唯一相關的。如果瀏覽器執行某種雙緩衝,則不會注意到它,因爲它將與屏幕幀速率同步。重繪是當瀏覽器根據DOM中的變化更新屏幕時發生的,當沒有JavaScript運行時會發生這種情況。通過使用'requestAnimationFrame',可以對DOM進行更改,以便重新繪製這些更改(只要腳本返回就會發生)就會與屏幕幀速率同步。 – Guffa 2015-04-03 19:46:52