キーボードの遅延:遅れはどこで生まれ、どう測るのか

キーボードの遅延とは、指がキーを押し始めた瞬間から、キーボードがその入力をパソコンに送り終えるまでの時間です。遅延は4か所で積み重なります。キーが沈むまでの移動、キーボードによるキーのスキャン、デバウンス、そしてUSBのポーリングです。ブラウザが入力を知るのはキーボードが送ったあとなので、この遅延を測れるWebサイトはありません。測定では、キーを押すソレノイドと、入力がキーボードから出た時点を記録するUSBアナライザーを使います。遅延を減らすには、アクチュエーションポイントを浅くし、ポーリングレートを最高にして、デバウンスはキーが二重入力にならない範囲で最も低く設定します。

キーボードテスト

キー入力がパソコンに届くまでに待たされる場所

  1. キーストロークスイッチが反応する位置までキーが沈む
  2. スキャンキーボードのチップが、格子状に並んだキーを1行ずつ調べる
  3. デバウンススイッチの接点の跳ね返りが収まるのを待つか、跳ね返りを無視する
  4. USBポーリングパソコンが次にキーボードへ新しい入力を問い合わせるまで、入力が待たされる

合計:キーボードの遅延

Webページが時間を計り始められるのはここから

パソコンとディスプレイ ゲームが入力を使ってフレームを描き、ディスプレイがそれを表示する。ここが入力遅延の残りの部分

キーボードを測定するレビューでは、最初の4つの段階の時間を計ります。何かがキーに触れた瞬間から、USBパケットがキーボードを出る瞬間までです。

遅延はどこで生まれるか

ポーリングレートをミリ秒で見る

問い合わせの間隔は、1,000 msをポーリングレートで割った値です。入力が待たされる時間は、平均するとその半分です。

ポーリングレートをミリ秒で見る
ポーリングレート問い合わせの間隔平均の待ち時間
125 Hz8 ms4 ms
250 Hz4 ms2 ms
500 Hz2 ms1 ms
1000 Hz1 ms0.5 ms
8000 Hz0.125 ms0.0625 ms

125 Hzから1,000 Hzに上げると、平均で3.5 ms短くなります。実際に測定されたキーボードどうしの差は、それよりはるかに大きいものです。2017年にDan Luuが21台のキーボードを測ったところ、結果は15〜60 msで、その中の2台のゲーミングキーボードはほかより速くありませんでした。

キーボードの遅延の測り方

Webサイトでキーボードの遅延を測れない理由

ブラウザがキー入力を知るのは、キーボードが入力を送り、パソコンがそれを受け渡したあとです。つまり、このページで説明したことはすべて、Webページが時間を計り始める前に終わっています。合図からキーを押すまでの時間を計るテストが測っているのは自分の反応で、それにはキーボードよりずっと長い時間がかかります。ブラウザで確かめられるのは、すべてのキーが反応するか、いくつのキーを同時に押せるか(キーボードテスト)と、キーが二重に入力されないか(キーボード二重入力テスト)です。

キーボードの遅延を減らす方法

リニア、タクタイル、クリッキーの違いと、メーカー公式のアクチュエーションポイントや作動荷重は、キーボードの軸で紹介しています。

出典:Dan Luu(英語)「キーボードの遅延」、RTINGS(英語)「キーボード遅延の測定方法」、LTT Labs(英語)「Labsのキーボードテストの方法」、QMK(英語)「デバウンスのアルゴリズム」、Wooting(英語)「Rapid Triggerの設定方法」、OSLTT(英語)「オープンソースの遅延テストツール」。