ToolAct工具行動

螢幕刷新率測試

檢測顯示器實際刷新率,測試高幀率效能

0 fps
當前幀率
-- Hz
估算刷新率
0
幀數統計
0
測試時長
測試模式
0fps
已停止
FPS 當前幀率

什麼是螢幕刷新率?

螢幕更新率表示顯示器每秒更新畫面的次數,單位是 Hz。60Hz 代表每秒最多更新 60 次,而 120Hz、144Hz、240Hz 等高更新率在整個設備鏈路支援時,可以讓捲動、動畫、繪圖和遊戲畫面更順暢。更新率測試用來確認螢幕是否真的以預期頻率運作,還是受到系統設定、省電模式、線材、轉接器、顯示卡驅動或外接螢幕限制。測試結果需要搭配環境判斷,因為瀏覽器負載、背景工作和幀時間波動都可能影響讀數。

使用方法

使用方式

  1. 選擇測試模式:彈跳球、滾動條紋、閃爍測試或 UFO 測試
  2. 點選「開始測試」按鈕以啟動偵測
  3. 觀察動畫流暢度與 FPS 數值變化
  4. 稍候數秒即可看到預估的更新率結果
  5. 建議使用全螢幕測試以獲得更準確的資料

測試提示

  • 測試前關閉其他動畫密集的分頁;瀏覽器負載、省電模式和外接螢幕都可能影響測量的流暢度。
  • 將顯示的 FPS 與作業系統或顯示卡控制面板中的螢幕設定進行比對。

使用場景

從動畫幀估算顯示器更新率開始測試以收集 requestAnimationFrame 時間戳,計算當前 FPS,並估算最接近的常見更新率,如 60、75、120、144、165、240 或 360 Hz。幀數和經過時間有助於判斷取樣是否運行夠久,因為 3 秒的時間窗比頁面載入後的前 500 毫秒能給出更乾淨的估算。
使用多種動態模式發現卡頓在測試運行期間切換彈跳球、滾動條紋、閃爍幀和 UFO 風格的動態。不同模式能以單一 FPS 數字無法做到的方式呈現撕裂、抖動、動態清晰度和背光頻閃(OLED 的 PWM 調光),這在挑選外觀相近的 144 Hz 和 165 Hz 面板時非常有用。
觀察幀率穩定性隨時間的變化工具會維護一個滾動的 FPS 歷史記錄,並在 canvas 圖表上繪製,附帶 60 Hz 參考線。這在比較顯示器、瀏覽器分頁、電源模式、外接顯示器或負載下的動畫表現時很有用;保持測試分頁可見,因為背景節流會在分頁失去焦點時將讀數從 120 Hz 降至 30 fps 的上限。
偵測可變更新率顯示器上的掉幀在彈跳球運行時觀察 FPS 歷史圖表:FreeSync 或 G-Sync 顯示器應在 LFC 範圍內保持穩定的水平線,掉幀會表現為低於該線的凹陷。如果線條持續跳回 60 Hz,面板可能在熱插拔事件、HDMI 1.4 線材瓶頸或驅動程式覆寫後回退到固定模式。
驗證線材、轉接器和作業系統設定鏈如果估算的更新率持續低於面板規格,請檢查 HDMI 2.1、DisplayPort 1.4 或 USB-C Alt-Mode 線材是否支援目標頻寬、作業系統顯示設定是否鎖定在較低的更新率,以及省電模式是否已停用。瀏覽器在背景分頁中的節流也可能將結果限制在面板真實更新率以下,即使 GPU 回報的並非如此。

技術原理

刷新率估算使用 requestAnimationFrame(t => ...),這是瀏覽器中與顯示器垂直同步訊號綁定的回呼函式。每次呼叫回傳一個毫秒級的 DOMHighResTimeStamp;相鄰時間戳的差值即為每幀間隔,1000 除以這些間隔的移動平均值即為以赫茲為單位的估算速率。估算器收集數百幀以平均掉瞬時卡頓,然後將結果取整到最接近的常見面板刷新率:60、75、90、120、144、165、240 或 360 Hz。 測量受限於鏈路中最慢的環節。144 Hz 面板在作業系統顯示設定鎖定在 60 Hz 時仍顯示為 60 Hz;在 HDMI 1.4 線材無法承載頻寬時(1080p @ 144 Hz 需要約 7.6 Gbps,超過 HDMI 1.4 的 8.16 Gbps 上限,考慮色深後更是如此)也會如此;GPU 驅動程式套用省電上限時亦然。可變刷新率技術(AMD FreeSync、NVIDIA G-Sync)讓面板在其工作範圍內保持任意速率,當內容幀率低於最低值時降至低幀率補償模式。 瀏覽器排程也有自身的上限。當測試分頁失去焦點時,Chromium 和 Firefox 都會在 Page Visibility 機制下將 requestAnimationFrame 節流至約 1 Hz;交叉觀察者節流甚至能在分頁活躍時將隱藏的 iframe 限制在約 30 fps。WebGL 和軟體回退合成路徑在垃圾回收暫停期間偶爾也會掉幀,因此要獲得乾淨的讀數,需要讓測試分頁保持在前景、另一個分頁沒有全螢幕影片播放,且至少 3 秒的取樣視窗才可信任取整結果。

  • 取樣:對 requestAnimationFrame 時間戳求差值;FPS = 1000 / 平均(幀間隔 ms);估算器取整至 60/75/90/120/144/165/240/360 Hz 的分檔。
  • 頻寬瓶頸:1080p @ 144 Hz 需要約 7.6 Gbps,4K @ 120 Hz 需要約 25 Gbps;頂級規格需要 HDMI 2.1(48 Gbps)或支援 DSC 的 DisplayPort 1.4(32.4 Gbps)。
  • 作業系統/驅動限制:面板可能標示支援 144 Hz,但 Windows 顯示設定或 NVIDIA 控制面板將其鎖定在 60 Hz;rAF 無法超過合成器獲得的幀率。
  • 可變刷新率(FreeSync / G-Sync):面板速率在其範圍內浮動;低於 LFC 閾值時 GPU 會複製幀以保持亮度一致。
  • 分頁節流:Page Visibility 將背景分頁降至約 1 Hz;即使父分頁在前景,交叉來源的隱藏 iframe 也會被節流至約 30 fps。
  • 取樣視窗:低於 500 ms 的讀數波動大;將分頁保持在前景至少 3 秒再取整至標準刷新率,才能獲得穩定的估算。

範例

標準 60 Hz 辦公螢幕

模式:            彈跳球
持續時間:        5 秒
影格數:          298
目前 FPS:        59.6
推估更新率:      60 Hz

2020 年前推出的多數桌機與筆電顯示器上限為 60 Hz。

144 Hz 電競螢幕

模式:            UFO Test
持續時間:        5 秒
影格數:          718
目前 FPS:        143.6
推估更新率:      144 Hz

常見於電競面板;需要 DisplayPort 1.2+ 或 HDMI 2.0+,且作業系統的更新率必須設定為 144 Hz。

背景分頁節流

模式:            捲動長條
目前 FPS:        30.0
推估更新率:      30 Hz(被限制)

當分頁失去焦點時,Chrome 與 Firefox 會將 requestAnimationFrame 節流至約 30 fps,因此測試時請務必讓分頁保持可見。

常見問題

這個測試是怎麼量出更新率的?

它使用 requestAnimationFrame() 來計算每秒實際渲染了多少影格。瀏覽器會在每次螢幕更新時觸發一次這個回呼,所以將影格數除以經過時間,就能得到有效更新率。結果通常會落在常見的整數值(60、75、100、120、144、165、240 Hz)。

為什麼測出來比螢幕規格上的更新率還低?

常見原因有:省電模式正在限制 GPU;連接線不支援標稱的更新率(HDMI 1.4 在 4K 下最高 60 Hz,要更高需要 DP 1.2+ 或 HDMI 2.0+);雖然螢幕能跑高更新率,但作業系統設定卻是 60 Hz;其他分頁占用主執行緒導致掉影格。

為什麼 60 Hz 的螢幕測出來比 60 還高?

部分瀏覽器在剛開始的幾個影格中,requestAnimationFrame 觸發的速度可能比實際螢幕更新還快,特別是多螢幕的環境,Chrome 可能會抓到更新率最高的那台螢幕的數值。建議跑滿 10 秒以上再看穩定值。

更新率和影格率(FPS)有什麼差別?

更新率是螢幕每秒能顯示的最大影格數;FPS 則是應用程式每秒實際產出的影格數。兩者是獨立的:在 60 Hz 螢幕上以 200 FPS 執行的遊戲,每秒實際只能顯示 60 個不同的影格(沒開 VSync 的話還會撕裂)。

可變更新率(G-Sync、FreeSync)會怎樣?

VRR 螢幕會逐影格調整更新率以配合 GPU 輸出。本頁測量的是執行期間的平均速率;在 VRR 螢幕上得到的結果反映瀏覽器當下實際渲染的速率,不是螢幕的最大值。

會儲存或上傳任何資料嗎?

不會。測量完全在客戶端進行,結果不會被記錄或傳送。

可以在視窗模式跑這個測試嗎,還是一定要全螢幕?

都可以,但瀏覽器會節流背景分頁與失去焦點的視窗(為了省電,常常降到 1 fps 左右)。請讓分頁保持在前景,最好開全螢幕,才能得到準確結果。