鍵盤延遲與回報率解說

許多網站提供鍵盤延遲測試或回報率檢測,但網頁只能在鍵盤、USB 或無線連線以及作業系統都處理完之後,才看到按鍵事件。這份指南說明從按下按鍵到看到結果之間的每一段延遲、瀏覽器計時能誠實顯示什麼,以及要測量真正的延遲需要什麼。

鍵盤延遲從哪裡來

從手指到螢幕之間有一連串步驟,每一步都會增加一些時間:

  1. 行程與觸發:按鍵移動到軸體觸發為止。機械軸的觸發點是固定的;類比(霍爾效應或類似)鍵盤則可以調整。
  2. 掃描:鍵盤控制器反覆檢查按鍵矩陣,檢查的頻率就是掃描率。
  3. 防彈跳:控制器會等待或過濾,避免彈跳的接點被回報成多次按壓。
  4. 回報與傳輸:透過 USB 時,電腦以回報率向鍵盤索取新資料;無線與藍牙連線則有各自的時序。
  5. 作業系統與應用程式:輸入被處理後交給程式。
  6. 繪製與顯示:程式繪製新畫面,螢幕再把它顯示出來。

端到端延遲是以上所有步驟的總和。行銷數字通常只描述其中一部分。

用數字看回報率

回報率是電腦從 USB 鍵盤收集回報的頻率。125 Hz 時間隔是 8 ms,1000 Hz 是 1 ms,8000 Hz 是 0.125 ms。較高的回報率會縮短等待下一次回報的時間,但也只縮短這一段:掃描率、防彈跳、系統與螢幕仍會加上各自的時間。回報率也完全無法說明鍵盤控制器本身多快察覺按鍵。

瀏覽器看得到什麼

網頁會收到帶有時間戳記的 keydown 與 keyup 事件。從這些事件可以顯示:

它看不到你實際按下按鍵的時間,只看得到事件抵達的時間。瀏覽器為了隱私也會把時間戳記取整,有時相當粗略,而且系統可能把好幾個輸入事件合併在一起。因此,按鍵事件的時間戳記並不是鍵盤延遲的測量值。

為什麼網站無法認證鍵盤回報率

滑鼠移動會產生連續的回報,所以事件之間的間隔可以粗略估計滑鼠的回報率,滑鼠回報率測試就是這麼做的。鍵盤只在按鍵狀態改變時送出回報,而你不可能每秒按鍵接近 1000 次。沒有穩定的回報可以計時,瀏覽器就沒有東西能用來估計鍵盤回報率。只靠打字就顯示「你的鍵盤是 1000 Hz」的網站是在猜測。鍵盤軟體中的設定或 USB 分析工具才是可靠的來源。

觸發點與 Rapid Trigger

在類比鍵盤上,觸發點(按鍵要按多深才觸發)與 Rapid Trigger(按鍵一開始回升就判定放開)是由鍵盤內部的感測器測量的。瀏覽器只會收到最後的按下與放開,而不是按鍵的位置,所以網頁無法測量觸發距離。請使用鍵盤自己的軟體,它會直接讀取感測器數值。瀏覽器測試能確認的是按下與放開是否在你預期的時候抵達,例如在鍵盤測試中快速輕點。

如何測量真正的延遲

真正的端到端延遲需要電腦以外的參考:用高速攝影機同時拍攝按鍵與螢幕,或使用能偵測按壓與螢幕變化的專用延遲測試器。拍攝或記錄多次按壓並取平均,因為單次結果會隨畫格與回報的時間點而變。如果使用攝影機:

  • 每把鍵盤都使用相同的場景、螢幕、更新率與設定;
  • 每次都穩定、確實地按下;
  • 從按鍵觸底或確定軸體觸發的那一刻,數到第一個可見變化為止的畫格數。

公平地比較鍵盤

  • 一次只改變一件事:每把鍵盤都使用相同的連接埠、線材、電腦、螢幕與應用程式。
  • 有線模式的結果不代表同一把鍵盤在無線或藍牙模式下的表現;每種模式都要分開測試。
  • 記錄大量樣本,比較範圍與平均值。
  • 網站給出的任何單一數字,包括瀏覽器計時,都只能當作參考,而不是測量值。

常見問題

瀏覽器能測量鍵盤延遲嗎?

無法測量真正的延遲。網頁只看得到按鍵事件抵達的時間,看不到你按下的時間,而且時間戳記會被取整。測量延遲需要高速攝影機或專用測試器等外部參考。

怎麼檢查鍵盤的回報率?

查看鍵盤的軟體或設定,通常可以在那裡顯示與更改。網站無法從打字可靠地估計鍵盤回報率,因為按鍵不會產生穩定的回報。

8000 Hz 比 1000 Hz 好嗎?

它縮短了其中一段延遲,兩次回報之間從最多 1 ms 變成最多 0.125 ms。你是否感覺得到,取決於整條鏈上的其他部分,而它們通常會增加更多時間。

這個網站有鍵盤延遲測試嗎?

刻意沒有。TestDock 的鍵盤工具只測量瀏覽器能可靠看到的內容:哪些按鍵抵達、同時有幾個,以及用於判斷連擊的按壓時間。這份指南說明如何正確測量延遲。

相關測試