“我在新电脑上快了 25 毫秒。”这句话可能是真的,也可能只是你换了一个刷新率更高、输入延迟更低的屏幕。反应测试测的是端到端时间,设备不是中立的背景,而是测量链路的一部分。
一、端到端延迟由哪些环节组成
从你在屏幕上看到信号,到浏览器记录到你的按键,大致经过以下环节:
- 内容生成与合成。 浏览器计算页面变化,合成器把图层合并成最终画面。
- 扫描输出(scanout)。 GPU 把画面逐行发送给显示器。刷新率决定了画面更新的节奏。
- 像素响应。 液晶分子的翻转、OLED 的驱动都需要时间;厂商标称的响应时间通常是特定条件下的灰阶切换,不等于完整延迟。
- 输入采样。 鼠标、键盘、触摸屏以一定频率采样你的动作;无线设备还有传输与去抖。
- 操作系统与浏览器事件派发。 输入事件进入系统队列,经合成器与浏览器处理,最终触发页面上的事件监听器。
- 页面计时。 本站使用 performance.now() 记录信号呈现与输入事件之间的差值。
其中任何一环的延迟,都会累加到你的成绩里。实验室会用光电传感器、校准设备和专用硬件来测量和校正这些延迟;在线测试做不到这一点,但可以把测量方式说清楚。
二、刷新率换算:一帧是多少毫秒
刷新率是屏幕每秒更新画面的次数。理论上,一帧的间隔是 1000 ÷ 刷新率毫秒。但“一帧”不等于“完整延迟”,它只是画面更新的时间颗粒度。
| 刷新率 | 一帧间隔 | 对测试的含义 |
|---|---|---|
| 60 Hz | 约 16.7 ms | 信号可能在下一帧才被看到,时间颗粒度较粗 |
| 90 Hz | 约 11.1 ms | 比 60 Hz 更细,但差异通常小于人的反应波动 |
| 120 Hz | 约 8.3 ms | 常见高刷设备,画面更新更顺滑 |
| 144 Hz | 约 6.9 ms | 电竞屏常见;实际延迟还受其他环节影响 |
| 165 Hz | 约 6.1 ms | 提升幅度相对 144 Hz 更小 |
| 240 Hz | 约 4.2 ms | 高刷优势明显,但需要整条链路配合 |
| 360 Hz | 约 2.8 ms | 对普通用户而言,边际收益通常很小 |
注意:60 Hz 屏幕并不意味着你一定会慢 16.7 ms。信号呈现、输入采样和事件派发都在同一帧节奏中发生,实际偏差取决于相位。高刷新率能减少平均等待,但不能突破生理反应时的下限。
三、输入设备:鼠标、键盘与触屏
输入延迟通常指从物理动作到系统接收到事件的时间。典型桌面鼠标和键盘的延迟在个位数到十毫秒级;触屏则更复杂,涉及触摸采样率、触摸控制器、显示刷新率和系统手势识别,常见范围可能达到几十毫秒。
这不代表触屏“不能测”。它只代表触屏成绩更适合和同一台设备上的触屏成绩比较,而不是和有线键盘的成绩直接对齐。无线设备也不一定慢:现代低延迟无线协议可以做到很小延迟,但省电模式、信号干扰和电池状态会增加不确定性。
四、浏览器与系统因素
- 后台节流。 标签页进入后台后,浏览器会降低定时器和绘制频率。本站会在页面隐藏时取消当前组。
- 省电模式。 系统可能限制 CPU/GPU 频率,增加合成与事件派发延迟。
- 高负载。 大型下载、视频渲染、游戏或虚拟机占用资源时,浏览器主线程可能排队。
- 浏览器扩展。 某些脚本注入、广告拦截或录屏扩展会增加事件处理开销。
- 显示器设置。 高刷新率需要在系统设置中真正启用;有些设备默认仍是 60 Hz。
五、本站如何计时,以及它做不到什么
视觉模式在 requestAnimationFrame 回调中切换画面状态,并在同一帧记录开始时间;听觉模式在播放提示音时记录开始时间;输入事件触发后用 performance.now() 计算差值。整个过程没有服务器参与,也没有网络往返。
已知局限:
- 视觉呈现有一帧级的不确定度。 浏览器的绘制发生在回调之后,实际光子到达眼睛的时间可能比记录时间晚一小段时间。
- 听觉输出延迟未校正。 耳机、扬声器、蓝牙编解码和系统音频缓冲都会影响声音真正到达耳朵的时间。
- 输入延迟未校正。 页面只能记录事件到达浏览器的时间,无法知道设备在物理上何时被按下。
- 选择反应包含决策。 四选一模式的成绩不能与简单反应的参考分位直接比较。
这些局限不会让测试失去意义,但决定了它适合“同条件下的相对比较”,不适合“绝对值的跨设备排名”。
六、检测一下你的屏幕刷新率
下面的工具通过采样 requestAnimationFrame 的间隔,估算浏览器当前的绘制节奏。它不能测量完整输入延迟,但可以帮你确认高刷屏是否真的启用了。
结果取中位帧间隔换算。若浏览器限制绘制频率,结果可能偏低。
七、把设备误差降下来
- 确认系统显示设置中启用了最高刷新率。
- 关闭省电模式、后台下载和不必要的浏览器扩展。
- 使用有线或稳定的无线输入设备,避免电量过低。
- 测试时只保留一个前台标签页,不要边看视频边测。
- 在同一台设备、同一种输入方式下完成三组,比较中位数。
- 如果换了设备,先做一组热身,再记录三组;不要用一次成绩下结论。
八、如何做一次靠谱的设备 A/B 测试
- 选择两种设备或两种设置,例如 60 Hz 与 120 Hz,或触屏与键盘。
- 两种条件使用同一模式、同一测试流程,每条件至少三组。
- 交替顺序:A-B-A-B-A-B,或随机化顺序,减少学习效应。
- 组间休息约一分钟,避免疲劳累积。
- 比较两种条件的中位数差异,同时看波动。如果差异小于组内波动,不要急着下结论。
九、四个常见误区
“网络延迟会影响反应测试成绩”
本站的计时完全在浏览器本地完成,没有服务器往返。网络只影响页面加载,不影响信号呈现到输入记录之间的时间。
“120 Hz 一定让我快 50 ms”
刷新率只改变画面更新的颗粒度,不能改变神经传导、肌肉收缩和决策时间。实际差异通常远小于营销话术,而且取决于整条链路。
“高刷屏等于高反应”
高刷屏可以减少画面等待,但你仍然要看到、识别、决定并动作。设备优化的是测量链路,不是生理能力。
“手机一定比电脑慢”
不一定。现代手机的触控采样和屏幕刷新率可以很高,但触摸输入、系统手势和浏览器事件处理会带来额外变量。关键是同设备、同条件比较。
在同一台设备上,测三组看看
先确认刷新率,再固定输入方式,比较中位数与波动。
技术参考
- MDN Web Docs. Window.requestAnimationFrame();Performance.now();Page Visibility API.
- MDN Web Docs. Web Audio API.
- Woods DL, et al. Factors influencing the latency of simple reaction time. Frontiers in Human Neuroscience. 2015;9:131. doi:10.3389/fnhum.2015.00131