CPSメーター

GUIDE 05

ポーリングレートと測定の限界 — CPSの記録はどこまで正確か

マウスのポーリングレート、ブラウザのイベント時刻、キーリピート、モニターのリフレッシュレートがCPS測定に与える影響と限界を解説します。

Webで測るCPSは「指がボタンを押した瞬間」ではなく「ブラウザが入力イベントを受け取った瞬間」を基準にしています。その間にはいくつもの段階があり、段階ごとに小さな誤差が生じます。何が影響し、何が影響しないのかをまとめました。

入力が画面に届くまで

ポーリングレート

ポーリングレートは、マウスが1秒間に何回状態を報告するかです。報告間隔は 1000 ÷ ポーリングレート(ms)です。

ポーリングレート報告間隔
125 Hz8 ms
500 Hz2 ms
1000 Hz1 ms

クリック数そのものにはほとんど影響しません。1秒間に20回クリックしてもクリック同士の間隔は50 msで、125 Hzの報告間隔よりずっと長いからです。ただし、各クリックの時刻が報告間隔の単位で遅れることがあるため、間隔の分布は数msずつぼやける ことがあります。

ブラウザの時刻精度

CPSメーターは、イベントに付いた時刻(event.timeStamp)と performance.now() を使います。ブラウザはセキュリティ上の理由でこの時刻の精度をわざと下げることがあるので、間隔を小数点以下まで信じるより、数ms単位で読むのが適切です。ページが重い処理をしている最中でも、イベントの時刻は入力が入ったときを基準にするので、カウントが抜けることはありません。

モニターのリフレッシュレートは関係ない

60 Hzでも240 Hzでも、画面のリフレッシュレートが変えるのは数字が 表示される速さ だけです。入力のカウントは画面の更新とは別に行われるので、リフレッシュレートのせいで記録が変わることはありません。

ワイヤレス・Bluetooth

ワイヤレス接続では、報告がときどきまとめて届いたり遅れたりすることがあります。クリック数はたいてい変わりませんが、間隔の分布が広がることがあります。厳密に比べたいなら、同じ接続方式同士で比較しましょう。

キーリピート

キーボードのキーを押しっぱなしにすると、OSが一定間隔で入力を繰り返し生成します。CPSメーターはイベントのリピートフラグ(KeyboardEvent.repeat)を確認し、さらにキーを離した記録がなければ新しい入力として数えません。そのため、押しっぱなしにしているだけでは記録は伸びません。

開始と終了の扱い

結論

何度か測って傾向を見る用途なら、Webでの測定で十分です。0.1 CPS前後の差は機材や接続状態でも生じるので、同じ条件で何度か比べてください。

測定してみる →