Snaplytics Toolkit

鼠标延迟测试

测量鼠标点击的响应速度。每次点击都会被打上两个时间戳 — 一次是浏览器创建事件时,一次是本页面的处理程序运行时 — 由此揭示事件传递延迟;与此同时,反应测试会计时测试区翻转时你点击的速度。

就绪
事件速率
events/s
在测试区上移动
事件 → 处理程序
ms
最近一次点击

点击以开始测试

当测试区翻转时,尽可能快速地点击。每次点击还会记录其事件到处理程序的延迟。

最佳
平均
最近
尝试次数
0

近期点击延迟

数值越低越好
你的点击延迟测试记录将显示在此处

鼠标延迟是指从按下按键到电脑能够对该次点击作出反应之间的时间,以毫秒计。每次点击都要经过一段短暂的旅程:开关闭合,固件对触点进行消抖以确认这是一次真实的按压,报告数据通过 USB 或无线链路传输,操作系统将输入事件排队并分派,浏览器再将其交给网页处理。每个阶段都会增加一点延迟,这些延迟共同决定了你的鼠标给人的即时感 — 这与你自身的反应速度以及屏幕刷新的快慢是分开的两回事。

本测试同时测量两项数据。每个指针事件都携带一个 timeStamp,记录浏览器创建该事件的时刻;当点击到达本页面的处理程序时,我们读取 performance.now() 并将两者相减,得到事件到处理程序的延迟 — 也就是点击在输入栈和事件循环中所耗费的时间。与此同时,测试区还会单独进行反应测试:它会等待一个随机的时间间隔,然后翻转状态,并记录该翻转与你点击之间的间隔。实时状态条统计每秒发生的指针移动事件数量,反映浏览器被告知光标移动的频率。

这两个数字应该分开解读。反应测试的数值主要由人类反应时间决定 — 大约 200–270 ms — 硬件和软件延迟只是叠加在这之上,因此应将其视为比较不同尝试的综合得分,而非硬件测量值。事件到处理程序的延迟才是更纯粹的信号:健康的系统通常处于个位数毫秒的低水平,一旦跳升到几十毫秒,就说明网页或你的系统正处于繁忙状态。稳定性和平均值同样重要 — 一只在 2 ms 和 20 ms 之间来回摆动的鼠标,给人的感觉会比稳定保持在 8 ms 的鼠标更差。

点击延迟的常见来源

阶段常见延迟影响因素
开关消抖2–20 ms固件等待触点稳定;部分游戏鼠标支持调节该时间
轮询间隔1–8 ms125 Hz 鼠标最多每 8 ms 上报一次,1000 Hz 鼠标每 1 ms 上报一次
无线链路~1–15 ms优质 2.4 GHz 接收器的表现接近有线;蓝牙会明显增加延迟
操作系统输入管线1–5 msUSB 调度加上操作系统唤醒、排队并分派事件所需的时间
浏览器主线程0–10+ ms即事件到处理程序数值所反映的部分;标签页繁忙时会增大

鼠标延迟、输入延迟与轮询率的区别

这三者衡量的是同一条链路中的不同环节。轮询率是指鼠标以赫兹为单位上报其位置和按键状态的频率 — Mouse Polling Rate Tester 会根据移动事件的间隔来估算这一数值。本页面测量的鼠标延迟,是点击转变为网页可处理事件所需的时间。输入延迟则是从你的操作到屏幕上出现可见变化的完整端到端延迟,其中还包括显示器自身的响应与刷新过程 — Input Lag Tester 涵盖了这一整套流程。较高的轮询率可以降低鼠标延迟的一个来源,但两者同样都取决于操作系统、浏览器和显示器。

如何降低鼠标延迟?

  • 使用有线连接,或选择放置在鼠标附近的优质低延迟 2.4 GHz 接收器,而不要使用蓝牙。
  • 如果传感器和连接能够稳定支持,可在鼠标软件中将轮询率提高到 500 或 1000 Hz。
  • 在厂商软件中缩短点击消抖时间,同时权衡由此带来的双击误触风险。
  • 将鼠标直接插入电脑,而不要通过无供电的集线器或较长的延长线连接。
  • 保持驱动程序和固件为最新版本,并关闭会占满 CPU 或 USB 总线的后台应用程序。

相关工具