[筆記] Critical Render Path 與 Reflow, Repaint

Critical Render Path

讀取 html => 產生 DOM Tree => 產生 CSSOM Tree => 產生 Render Tree => Layout => Paint => Compositing

Layout做的事情

依照樣式表與元素的可視與否,計算每個元素的尺寸、位置

Paint做的事情

繪製每個Layout的文字、顏色、圖片、透明度、transform。也就是把Layout轉為實際視覺上的結果。

Compositing做的事情

將所有的Layout組合起來

Reflow是什麼意思

當我們改變了元素的位置、大小、可視性,會需要重新回到 Critical Render Path 的 Layout 步驟,重新計算所有元素,這個耗費的資源的行為叫做 Reflow。

Repaint

當我們改變了字色、圖片路徑、透明度、transform…等等,因不會影響到元素的真正位置與大小,我們僅需要重新繪製畫面即可,這個行為叫做 Repaint。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料