Skip to content

2026-07-26

/ 9 分鐘閱讀

/ Web Performance Fundamentals

效能測試工具:Chrome Performance ​

Performance 面板的整體結構 ​

從 Lighthouse 報告點擊「View Trace」,或直接在 DevTools 切換到 Performance 分頁,就會進入這個介面。

第一印象可能很壓迫:大量資料擠在一個畫面上,從 0 到數十秒的完整時間軸、密密麻麻的色塊。講師建議先釐清你想回答的問題,再有方向地縮放到對應的時間區段,而不是試圖一次讀懂所有東西。

縮放與導航 ​

時間軸左右兩側有可拖曳的控制點,可以框選特定時間範圍放大檢視。也可以直接在時間軸上拖曳選取範圍。

若把焦點移到圖表區域,可以用 WASD 鍵導航,就像第一人稱射擊遊戲一樣:A/D 左右移動,W/S 放大縮小。這是在大量效能資料中快速定位的實用技巧。

在瀑布圖中找出問題 ​

講師以課程範例網站的載入過程為例,整個載入時間長達 45 秒,LCP 在測試期間甚至還沒觸發。

縮放到 FCP 發生的時間點附近,可以看到瀑布圖呈現幾個值得注意的現象:

圖片請求被阻塞(Blocking):有一個圖片請求的起始線一路延伸回去,代表它在 queue 中等待了 3.3 秒才開始下載,完全沒有進行任何傳輸。

Render blocking 資源(紅色角標):CSS 檔案旁邊出現小紅三角標記,代表這些資源是 render blocking,瀏覽器必須先完成這些資源的下載與解析才能繪製畫面。三個 CSS 檔案同時下載,旁邊還有字型也在開始載入。

瀑布圖與火焰圖的時間尺度差異 ​

瀑布圖呈現的是網路請求層次的時間,以數十到數百毫秒為單位,適合觀察資源下載的順序與時長。

火焰圖呈現的是CPU 執行層次的時間,需要縮放到更細的尺度才能看出細節。講師示範縮放到某個 CSS 檔案剛完成下載的時刻,火焰圖才逐漸顯現出具體的任務堆疊:

  • 解析樣式表(Parse Stylesheet)
  • 遇到 JavaScript,進入 Evaluate Script 與 Compile
  • 編譯導致渲染短暫停頓
  • 繼續解析 HTML,又遇到更多 JavaScript,再次執行

這些細節讓你能追蹤到「是哪一段操作造成了渲染延遲」,是 Lighthouse 這類高層次工具看不到的東西。

Network 面板 ​

Network 面板提供比 Performance 面板頂部的瀑布更簡化的網路請求視圖,列出所有資源請求及其對應的瀑布條,但沒有 CPU 層次的細節。適合快速掌握哪些資源最大、最慢,不需要深入到執行細節時使用。

複習 ​

瀑布圖與火焰圖在網頁效能分析中的主要用途是什麼? ​

提供頁面載入效能的全面視圖,在不同細緻程度下呈現網路請求、資源載入、CSS 解析、JavaScript 執行與渲染過程的詳細時序。

Performance 面板瀑布圖中的紅色角標代表什麼? ​

Render blocking 資源,即阻止畫面繪製的高優先級項目,通常是 CSS 檔案。

如何在 Performance 面板中導航與縮放? ​

使用時間軸上的控制把手、拖曳選取範圍、上下捲動,或使用 WASD 按鍵,就像在玩第一人稱射擊遊戲一樣。

火焰圖與瀑布圖通常呈現哪些不同的時間尺度? ​

瀑布圖通常以毫秒為單位(10-100ms)呈現網路請求,火焰圖則可以縮放到非常小的處理時間範圍,顯示任務執行的詳細細節。

深入 Performance 面板可以分析哪些效能面向? ​

網路請求、資源載入時間、CSS 解析、JavaScript 執行、腳本編譯、HTML 解析,以及頁面載入過程中任務的執行順序。

小測驗 ​

Performance 面板中用來分析頁面載入的兩個主要圖表是什麼? 瀑布圖與火焰圖
Performance 面板瀑布圖中的紅色角標代表什麼? Render blocking 資源
網路請求的典型時間範圍是多少? 數毫秒,通常在 10 至 100 毫秒之間
如何在 Performance 面板中導航與縮放? 使用 WASD 按鍵與捲動
根據課程內容,大多數網頁效能問題通常由什麼造成? Layout、HTML、圖片與資源載入順序

此文章是 FrontendMasters 上的 Web Performance Fundamentals 課程筆記

最後更新時間:

Buy Me A Coffee

系列章節 第 21 篇 / 共 41 篇

0 %
MIT Licensed | Copyright © 2025-present Wen-Hsiu's Blog
Photo by Federica Galli on Unsplash