鍵盤延遲與回報率解說
許多網站提供鍵盤延遲測試或回報率檢測,但網頁只能在鍵盤、USB 或無線連線以及作業系統都處理完之後,才看到按鍵事件。這份指南說明從按下按鍵到看到結果之間的每一段延遲、瀏覽器計時能誠實顯示什麼,以及要測量真正的延遲需要什麼。
鍵盤延遲從哪裡來
從手指到螢幕之間有一連串步驟,每一步都會增加一些時間:
- 行程與觸發:按鍵移動到軸體觸發為止。機械軸的觸發點是固定的;類比(霍爾效應或類似)鍵盤則可以調整。
- 掃描:鍵盤控制器反覆檢查按鍵矩陣,檢查的頻率就是掃描率。
- 防彈跳:控制器會等待或過濾,避免彈跳的接點被回報成多次按壓。
- 回報與傳輸:透過 USB 時,電腦以回報率向鍵盤索取新資料;無線與藍牙連線則有各自的時序。
- 作業系統與應用程式:輸入被處理後交給程式。
- 繪製與顯示:程式繪製新畫面,螢幕再把它顯示出來。
端到端延遲是以上所有步驟的總和。行銷數字通常只描述其中一部分。
用數字看回報率
回報率是電腦從 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 的鍵盤工具只測量瀏覽器能可靠看到的內容:哪些按鍵抵達、同時有幾個,以及用於判斷連擊的按壓時間。這份指南說明如何正確測量延遲。
相關測試
- 鍵碼查詢查看瀏覽器對任何按鍵回報的 key、code、keyCode、location、修飾鍵與重複旗標。
- 鍵盤測試逐一按下每個按鍵,看看哪些有反應,支援 ANSI、ISO 與 Mac 配置。
- 鍵盤 防鬼鍵 測試同時按住多個鍵,看看你的鍵盤能回報哪些組合。
- 鍵盤 連點 測試找出打一下出現兩次的按鍵:每次按下都會計時,快到手指不可能做到的重複會被標記。
- 數字鍵盤測試按下數字鍵盤上的每個鍵,看看是否有反應,同時顯示 Num Lock 狀態。
- Mac 鍵盤測試使用 Mac 按鍵名稱的鍵盤測試,適用 MacBook 鍵盤與巧控鍵盤。
- 空白鍵 測試看看你在 5 到 60 秒內能按幾次空白鍵;按住不放不算。
- Chromebook 鍵盤測試使用 Chromebook 鍵盤圖的測試:搜尋鍵、最上排按鍵與方向鍵。