やあ。今日もブラウザと戦っているかい?
「なぜか初期表示が遅い」「LCP(Largest Contentful Paint)が改善しない」。そんな悩みを抱えたとき、多くのエンジニアは「画像サイズを削る」「JSを遅延させる」といった対症療法に走りがちだ。だが、ブラウザの深淵、つまり「クリティカルレンダリングパス(CRP)」のメカニズムを理解していないと、その努力は往々にして砂上の楼閣に終わる。
今日は、ブラウザが最初のピクセルを描画するまでの「0から1」のプロセスを最適化し、ユーザーに爆速の体験を提供するためのシニア級の知見を授けよう。
—
1. ブラウザの「脳内」で何が起きているのか
まず、ブラウザはHTMLを上から順に読み込むだけの単純な装置ではない。「HTMLパース」と「DOM構築」は、常に並行して走る競走だ。
君たちが書いたHTMLは、ブラウザにとって「未完成のパズル」だ。`