网上的反应测试给你一个数字,比如 250ms,然后告诉你”高于平均水平”。但这 250 毫秒里,属于”你”的到底有多少?
反应速度测试 测的是从信号出现到按键落下的完整耗时。这条链路上至少有五段,你只占中间三段。 搞清楚每段占多少,才知道哪些数字值得较真、哪些其实是在测显示器。
把 250 毫秒拆开
| 环节 | 典型耗时 | 能不能优化 |
|---|---|---|
| 屏幕把这一帧显示出来 | 60Hz 约 8ms,144Hz 约 3.5ms | 能,换屏幕 |
| 视网膜到视觉皮层 | 约 30–50ms | 不能 |
| 决策与运动指令 | 约 80–120ms | 几乎不能 |
| 手指动作 + 按键行程 | 约 30–60ms | 能,靠姿势和键程 |
| 设备把事件送进浏览器 | 有线 1–5ms,蓝牙 8–20ms | 能,换外设 |
生理部分(中间三段)加起来约 140–230ms,这是绝大多数人成绩的基底。能靠花钱和调整改变的,只有首尾两段和手指姿势,合计大约 10–40ms 的空间。
这也解释了一个常见困惑:为什么换了顶级外设,成绩只快了十几毫秒?因为你换掉的那段本来就只占 5%。
为什么不同网站的数字不能直接比
同样测”反应速度”,不同站点的结果常常差出几十毫秒,原因不在谁更准,而在口径不同:
- 计时起点不同。有的站点在修改 DOM 样式的那一刻就开始计时,但这一帧要到下一次垂直同步才真正被显示出来;有的站点等这一帧提交后才记起点。这一条差异本身就值半帧到一帧
- 输入事件不同。监听
pointerdown比监听click早若干毫秒,因为 click 要等按下和抬起都完成 - 轮数和异常值处理不同。3 轮和 10 轮的平均值稳定性差很多;有的站点剔除最快最慢,有的不剔除
- 是否包含抢跑。把抢跑那一轮算作超长反应,会显著拉高平均值
本工具在信号帧提交之后(requestAnimationFrame 回调里)记起点、监听 pointerdown、抢跑轮次作废且单独统计。但这不代表它比别家”准”——它只是口径明确。跨站点比数字没有意义,只和自己比才有意义。
视觉和听觉为什么不一样
听觉通路比视觉短,这是生理事实:声音经过耳蜗和听觉神经到达皮层的路径比光信号经过视网膜的处理链更直接。同一个人的听觉简单反应时通常比视觉快 20–40ms。
但在网页上测听觉有个大坑:音频输出延迟。蓝牙耳机的延迟可能有 100–200ms,足以把生理优势完全淹没,甚至让听觉成绩看起来比视觉慢一倍。测听觉模式请用有线耳机或直接外放。
顺带一提,本工具的听觉模式在等待期和信号出现时不做任何视觉变化——否则眼睛会先于耳朵拿到信号,测出来的就还是视觉反应。
平均值、中位数和波动
反应时间的分布是右偏的:下限被生理硬性卡住,上限却能因为一次走神拖到 500ms 以上。这决定了三个数字的分工:
- 中位数:不受偶发失误影响,最能代表”通常水平”
- 平均值:包含失误,和中位数的差距反映稳定性
- 波动(最慢减最快):直接量化稳定性
中位数 240、平均 250 是发挥稳定;中位数 240、平均 300 说明有明显的偶发走神。波动超过 150ms 时,该解决的是注意力和环境,而不是去追求更快的下限。
这个数字不能拿来做什么
它是消遣和自查工具,不是医疗评估,也不是职业能力测评。反应时间受睡眠、咖啡因、情绪、年龄影响很大,同一个人一天之内波动 50ms 是常事。
更要紧的是,它测的是简单反应时——一个信号、一个动作、没有判断。真实场景里几乎不存在这种情况:开车要判断该刹还是该躲,比赛要在多个选项中选一个,这些属于选择反应时,耗时是简单反应时的一倍以上,而且和简单反应时的相关性远没有直觉上那么高。
如果你怀疑自己出现了持续的、影响日常生活的反应能力下降,该找的是医生,不是网页。