Snaplytics JS Tests

キーボード遅延テスト

下のボックスをクリックしてキーを押してください。各キー入力は、システムが送信してからページが処理するまでの時間を計測し、ミリ秒単位でリアルタイム表示します。平均値、ジッター、分布グラフも確認できます。

準備完了
ms

ここをクリックしてから、任意のキーを押してください

ボックスをクリックしてキーを押すと計測できます — 物理キーボードで最もクリーンな結果が得られます。

遅延の分布を作るために、さらにキーを押してください
最速
平均
最大
ジッター
打鍵パターンを変えてみましょう

単発の打鍵、連打、さまざまなキーを試してください。キーを押しっぱなしにしても計測対象にはなりません — オートリピートはOSが生成するためです。

ジッターに注目

1〜20msの間でばらつく値より、安定した5msのほうが優れています。スパイクが鋭いほど、入力の予測しやすさが高いことを意味します。

何を計測しているか

システムがキー入力を送信してから、ページがそれを処理するまでの時間です。スイッチ、スキャン、無線の遅延はそれより前に発生しており、ブラウザからは見えません。

キーボード遅延とは、キーを押してからコンピューターがそれを処理するまでの時間差のことです。1回のキー入力は、いくつもの小さな遅延の連鎖を経由します — スイッチの接点が安定し、キーボードがマトリクスをスキャンし、接続が信号を伝え、OSがイベントをキューに入れてからアプリに届きます。それぞれの遅延は数ミリ秒でも、積み重なることで影響が出ます。設定が悪いと、ゲームでキー入力が遅れて反映されたり、高速タイピングが画面と乖離した感覚になったりします。このテストはその連鎖の終端部分を、アプリのインストール不要でブラウザ上でローカルに計測します。

OSは各キー入力に到着時刻を記録し、それをブラウザに渡します。このテストは、その時刻とページが実際にイベントを処理した瞬間とを比較します。つまり各キー入力は、1回のキー操作が入力パイプラインをどれだけ速く通過したかを測っています — 正常なシステムなら数ミリ秒程度ですが、CPUに負荷がかかっている場合、ブラウザが混雑している場合、省電力モードのノートパソコンでは長くなります。キーを押しっぱなしにした場合は最初の1回だけを計測し、以降は無視されます。オートリピートはOSがタイマーで生成するためです。単発の打鍵と連打を織り交ぜてキーを押し続け、ヒストグラムが落ち着くまで続けてください。

良い結果とはどのようなものか?

有線キーボードでアイドル状態のシステムなら、ほとんどの打鍵は5ms未満で処理され、ヒストグラムは鋭いスパイクを描くはずです — 平均値だけでなく一貫性も重要で、ジッターこそが入力を予測しにくく感じさせる原因だからです。平均が15〜20msを超えたり、長く尾を引く分布が見られたりする場合は、システムに問題があるサインです — タブを大量に開いたブラウザ、サーマルスロットリング、省電力設定、不安定な無線接続などが考えられます。なお、ブラウザが計測できるのは連鎖のうちソフトウェア側の半分だけです — スイッチ、マトリクススキャン、無線の遅延はコンピューターがキー入力を認識する前に発生しているため、これは押下から画面表示までの全遅延ではありません。すべての物理キーが正しく認識されるか確認するにはキーボードテスターを、ハードウェアに加えて自分自身の反応速度を測るには入力遅延テスターをお試しください。

キーボード遅延の発生源

発生源典型的な遅延対策
スイッチのデバウンス1〜10 ms — 接点のバウンス(跳ね返り)が収まるのをファームウェアが待ってから報告する光学式やホール効果式スイッチを採用したゲーミングキーボードは1ms未満でデバウンス処理を行う
マトリクススキャンレート約1 ms — コントローラーが一定周期でキー配列をスキャンする調整の余地はなく、より高速なコントローラーでのみ改善できる
無線接続Bluetoothで2〜15 ms、2.4 GHzドングルなら有線に近い遅延遅延が重要な場面ではケーブルまたはドングルを使用し、ドングルは本体の近くに配置する
USBポーリングレート標準の125 Hzでは8 ms、1000 Hzでは1 msゲーミングキーボードは1000 Hzでポーリングする — ハブではなくPCに直接接続する
OSの入力キュー通常は約1 msだが、CPU負荷が高いと急上昇するバックグラウンドの重い処理を終了し、使っていないキーボードフィルターやアクセシビリティの遅延を無効にする
混雑したブラウザタブページや他のタブがCPUを占有すると数十msのスパイクが発生する重いタブや拡張機能を閉じる — これはこのテストが直接検出できる部分

関連ツール