4

FastDOM - 批量DOM讀取的小型庫&寫入raf(requestAnimationFrames)。FastDOM - 每17ms讀寫一次?

https://github.com/wilsonpage/fastdom

我看過的代碼,但是,我很努力去了解它是如何工作的。下面是我們幾個推定: - 瀏覽器通常被設定爲60fps的 - 所以在總,可以在幾秒鐘之

也就是說,每個FastDOM閱讀是最大60raf /寫批後會跑17ms(1000ms/60fps)。這會不會很慢,因爲函數可能會一個接一個地讀/寫調用?

很顯然以上情況並非如此,但是,我很困惑,並會很感激澄清。

謝謝,

+0

如果您非常快速地添加多個讀取/寫入操作(在17ms內 - 例如在一個循環內),它們不會以連續17ms的間隔順序執行,它們全部在「下一個」批處理中執行,可能在1ms內,可能在17ms。 – Adam

回答

6

這兩種類型的DOM操作(讀/寫)都有自己的作業隊列。每個隊列被刷新(例如在所有作業運行/執行)每​​

如果添加100讀取操作5ms內所有的,例如,(例如一個循環中),所有的讀操作(很有可能)在下次刷新隊列時(可能是在添加最後一個作業後1ms,或者在添加最後一個作業之後16.66667ms)纔會發生。

通讀源代碼,寫得很好,很好的評論。