クリティカルレンダリングパスとは、ブラウザがHTMLとCSSとJSをピクセルに変えるまでの一連のステップです。これを理解することで、何がレンダリングをブロックするのか、どうしてページを速く描画できるのかが分かります。
ステップ
text
1. Parse HTML → DOM tree (the document structure)
2. Parse CSS → CSSOM tree (the style rules)
3. DOM + CSSOM → Render tree (visible nodes + their styles)
4. Layout (reflow) → compute each node's geometry (position/size)
5. Paint → fill in pixels (colors, text, images)
6. Composite → combine layers onto the screen
レンダリングをブロックするもの
CSSはレンダリングブロッキングです。 ブラウザはCSSOMの準備ができるまで描画しません(スタイルが当たっていないコンテンツのフラッシュを避けるため)。つまり、大きい/遅いCSSは初回描画を遅延させます。クリティカルCSSを小さく保ち、可能なら逆向きに組み込んでください。
通常のはHTML解析を一時停止し、ダウンロードして実行してから続行します。スクリプトがDOMを変更するかもしれないからです:
