CPS 测速器

GUIDE 05

回报率与测量局限 — CPS 成绩有多准确

说明鼠标回报率、浏览器事件时间、按键重复和显示器刷新率对 CPS 测量的影响及其局限。

网页上测出的 CPS,依据的不是“手指按下按键的瞬间”,而是“浏览器收到输入事件的瞬间”。这中间要经过好几个环节,每个环节都会产生微小的误差。下面整理了哪些因素有影响、哪些没有。

输入到达屏幕的路径

回报率

回报率(轮询率)是鼠标每秒报告状态的次数。报告间隔为 1000 ÷ 回报率(ms)。

回报率报告间隔
125 Hz8 ms
500 Hz2 ms
1000 Hz1 ms

它对点击次数本身几乎没有影响。即使每秒点击 20 次,点击之间的间隔也有 50 ms,远长于 125 Hz 的报告间隔。不过每次点击的时间可能会以报告间隔为单位被推迟,因此间隔分布可能会被抹平几 ms。

浏览器的时间精度

CPS 测速器使用事件自带的时间(event.timeStamp)和 performance.now()。出于安全考虑,浏览器有时会故意降低这些时间的精度,所以间隔值不要细看到小数点以后,按几 ms 的粒度来理解才合适。即使页面正在执行繁重任务,事件时间也以输入到达的时刻为准,所以不会漏计。

显示器刷新率无关

不管是 60 Hz 还是 240 Hz,屏幕刷新率只改变数字显示出来的速度。输入计数与屏幕刷新是分开进行的,所以刷新率不会改变成绩。

无线·蓝牙

无线连接的报告有时会扎堆到达或出现延迟。点击次数通常不变,但间隔分布可能会变宽。想精确比较的话,请在相同连接方式之间比较。

按键重复

按住键盘按键不放时,操作系统会按一定间隔重复生成输入。CPS 测速器会检查事件的重复标记(KeyboardEvent.repeat),另外如果没有松开按键的记录,也不会计为新的输入。所以光按住不放是刷不了成绩的。

开始与结束的处理

结论

如果是多测几次看趋势,网页测量就足够了。0.1 CPS 左右的差别也可能来自设备和连接状态,请在相同条件下多次比较。

去测一测 →