Snaplytics JS Tests

滑鼠延遲測試

測量您滑鼠點擊的反應速度。每次點擊都會被標記兩次時間戳記──一次是瀏覽器建立事件時,另一次是本頁的處理常式執行時──以顯示事件傳遞延遲;同時,短暫的反應測試會記錄當測試區翻轉時您點擊的速度。將滑鼠移到測試區上方,即可查看瀏覽器接收到的即時事件速率。

就緒
事件速率
events/s
在測試區上移動
事件 → 處理常式
ms
最近一次點擊

點擊以開始測試

當測試區翻轉時,請盡快點擊。每次點擊也會記錄其事件到處理常式的延遲。

最佳
平均
最近一次
嘗試次數
0

近期點擊延遲

數值越低越好
您的點擊延遲測試結果將顯示於此

此測試的運作方式

每個指標事件都帶有一個 timeStamp,這是瀏覽器建立該事件當下所設定的時間戳記。當您的點擊到達處理常式時,我們會讀取 performance.now(),並將兩者相減以顯示事件到處理常式的延遲──也就是您的點擊在到達本頁面能夠反應之前,經過輸入堆疊與事件迴圈所花費的時間。此外,測試區會另外執行反應測試:它會等待一段隨機間隔、翻轉狀態,並記錄該翻轉與您的點擊之間的間隔,作為可供不同嘗試比較的點擊延遲數值。移動速率讀數則計算每秒抵達的指標移動事件數量,反映出瀏覽器被告知游標移動的頻率。

造成滑鼠延遲的原因

  • 開關防彈跳(debounce):韌體會在按下後等待幾毫秒,以確認接點已穩定,這會為每次點擊增加一段小而固定的延遲。
  • 輪詢率:125 Hz 的滑鼠最多每 8 ms 回報一次,1000 Hz 的滑鼠則每 1 ms 回報一次,因此較低的輪詢率可能會使點擊延遲到下一次回報才被送出。
  • 連接方式:有線 USB 是直接連接;無線連接則多了一段無線電傳輸,低功率或壅塞的 2.4 GHz 連線可能會增加抖動,不過品質良好的現代無線接收器已相當接近有線的表現。
  • USB 與作業系統排程:主機會按排程輪詢裝置,接著作業系統必須喚醒、排入佇列,並將事件派送給瀏覽器。
  • 瀏覽器與頁面負載:忙碌的主執行緒或負擔沉重的頁面,可能會延遲您的處理常式實際執行的時間,這正是事件到處理常式數值所要呈現的內容。

滑鼠延遲、輸入延遲與輪詢率的差異

這三者測量的是同一條鏈路中不同的環節。輪詢率是指滑鼠回報其位置與按鍵狀態的頻率,單位為赫茲(Hz)──滑鼠輪詢率測試工具會根據移動事件的間隔來估算此數值。本頁測量的滑鼠延遲,則是點擊轉換成頁面可處理事件所需的時間。輸入延遲則是從您的動作到螢幕上出現可見變化的完整端對端延遲,其中也包含顯示器本身的反應時間與更新率──輸入延遲測試工具涵蓋的正是這整個「反應加顯示」的循環。較高的輪詢率能降低滑鼠延遲的其中一個來源,但延遲與端對端輸入延遲同時也取決於作業系統、瀏覽器與您的顯示器。

如何降低滑鼠延遲

  • 使用有線連接,或選擇品質良好、放置在滑鼠附近的低延遲 2.4 GHz 無線接收器,而非藍牙。
  • 若感測器與連線能穩定支援,可在滑鼠軟體中提高輪詢率(500 或 1000 Hz)。
  • 若製造商軟體提供此選項,可降低點擊防彈跳時間,但需權衡誤觸雙擊的風險。
  • 隨時更新驅動程式與韌體,並關閉會佔滿 CPU 或 USB 匯流排的背景應用程式。
  • 將滑鼠直接插入電腦,而非透過無供電集線器或過長的延長線連接。

相關工具