鍵盤延遲測試

連續按下一般按鍵,估算瀏覽器事件時間戳到 JavaScript 開始處理之間的排程延遲,並查看中位數、P95 與樣本分布。

測試設定與即時取樣

輸入 10~200 個整數樣本,預設為 50;達到目標後會自動結束。

連續按下同一個一般按鍵開始後請將焦點放在此區域;Tab 仍可用來導覽,repeat、組合輸入與只按修飾鍵的事件不會計入。
有效樣本
0
完成進度
0%
最近按鍵
最近延遲
目標樣本進度0 / 50

目前階段尚未開始

設定目標樣本數後,選擇「開始新測試」。
結果總覽等待測試
中位派送延遲開始測試後會顯示統計結果。
平均值
P95
MAD 抖動

結果只描述目前瀏覽器的事件派送階段,不能單獨代表鍵盤硬體、USB/Bluetooth 連線,或按鍵到螢幕的總延遲。

按鍵事件派送延遲的分布

有效樣本直方圖

樣本數中位數P95

完成有效測試後,直方圖會顯示樣本集中區間與慢事件形成的長尾;文字結果仍是主要答案。

深入了解

方法、公式與結果定義

若 Event.timeStamp 是 epoch 時間戳,先扣除 performance.timeOrigin 轉為目前頁面的相對時間;單次派送延遲 dᵢ = performance.now() − normalizedEventTimestamp。負偏差超過 1 ms 或大於 10,000 ms 的樣本會被捨棄。平均值、MAD、中位數與 P95 都使用未四捨五入的樣本;P95 使用線性插值。

內部保留未四捨五入的毫秒值;頁面顯示至小數點後兩位,樣本充足度與分位數都使用原始值計算。

獨立測試涵蓋相對與 epoch 時間戳、負偏差容許值、極大值拒絕、線性插值 P95、MAD、樣本邊界、直方圖分箱、repeat 與組合輸入排除、Tab 導航、失焦作廢與多種視窗尺寸。

使用方式與限制

網頁不知道實體按鍵觸發的時間,無法測出純硬體端到端延遲。CPU 負載、瀏覽器擴充功能、背景分頁、輸入法、計時器精度與隱私策略都會影響結果;repeat、組合輸入、Tab、Ctrl、Alt、Meta 與只按修飾鍵的事件不計入。頁面失焦或轉到背景時,尚未完成的回合會作廢。

鍵盤延遲怎麼計算?

工具先統一 Event.timeStamp 與 performance.now 的時間基準,再用事件處理開始時間減去事件時間戳,得到瀏覽器事件派送延遲。統計值來自未四捨五入的有效樣本。

網頁可以測量鍵盤硬體的絕對延遲嗎?

不行。網頁不知道實體按鍵觸發的時間,結果會混合裝置韌體、連線、作業系統、瀏覽器派送與目前主執行緒負載,因此比較適合用來比較目前瀏覽器環境的一致性。

P95 鍵盤延遲代表什麼?

P95 表示約 95% 的有效樣本不高於這個數值。它比平均值更能反映少量慢事件形成的長尾,但樣本太少時仍不穩定。

工具資訊與來源

所有按鍵事件與統計都在目前瀏覽器本機處理,不上傳、不呼叫遠端 API,也不寫入網址或本機儲存空間。

本工具未使用第三方執行程式碼或素材,演算法與介面皆為獨立實作;外部連結只用來說明瀏覽器事件與高精度時間標準。

標準與方法來源