キーボード遅延テスト

通常のキーを連続して押し、ブラウザーイベントのタイムスタンプからJavaScriptの処理開始までのスケジューリング遅延を推定します。中央値、P95、サンプル分布も確認できます。

テスト設定とリアルタイムサンプル

10~200の整数を入力してください。初期値は50で、目標に達すると自動終了します。

同じ通常キーを連続して押す開始後、この領域にフォーカスを置いてください。Tabは移動に使えます。repeat、合成入力、修飾キーだけの入力は数えません。
有効サンプル
0
進捗
0%
最後のキー
最後の遅延
目標サンプルの進捗0 / 50

現在の段階未開始

目標サンプル数を設定し、「新しいテストを開始」を選択してください。
結果概要テスト待ち
ディスパッチ遅延の中央値テストを開始すると統計結果が表示されます。
平均
P95
MADのばらつき

結果が表すのはブラウザーのイベントディスパッチ段階だけです。キーボード本体、USB/Bluetooth接続、キーを押してから画面に反映されるまでの総遅延を単独で示すものではありません。

キーイベントのディスパッチ遅延分布

有効サンプルのヒストグラム

サンプル数中央値P95

有効なテストを終えると、サンプルが集中する範囲と遅いイベントによる裾をヒストグラムで確認できます。主な判断材料はテキスト結果です。

詳しく見る

方法・計算式・結果の定義

Event.timeStampがepochタイムスタンプの場合はperformance.timeOriginを引いてページ内の相対時間に変換します。1回のディスパッチ遅延は dᵢ = performance.now() − normalizedEventTimestamp です。1msを超える負のずれと10,000msを超える値は破棄します。平均、MAD、中央値、P95は丸め前のサンプルを使い、P95には線形補間を使います。

内部では丸めていないミリ秒値を保持します。画面には小数第2位まで表示し、サンプルの十分性と分位点は元の値で計算します。

相対・epochタイムスタンプ、負のずれの許容範囲、大きな値の拒否、線形補間P95、MAD、サンプル数の境界、ヒストグラムの区間、repeat・合成入力の除外、Tab移動、フォーカス喪失、複数ビューポートを独立して検証します。

使い方と制限

Webページは物理的なキー作動時刻を知ることができないため、純粋なハードウェアのエンドツーエンド遅延は測れません。CPU負荷、ブラウザー拡張、バックグラウンドタブ、入力メソッド、タイマー精度、プライバシー保護機能が結果に影響します。repeat、合成入力、Tab、Ctrl、Alt、Meta、修飾キーだけの入力は数えません。フォーカスを失うかバックグラウンドになると未完了のテストを破棄します。

キーボード遅延はどう計算しますか?

Event.timeStampとperformance.nowの時間基準をそろえ、イベント処理の開始時刻からイベントのタイムスタンプを引きます。統計値は有効な丸め前のサンプルから計算します。

Webページでキーボードのハードウェア遅延を測れますか?

いいえ。ページは物理的にキーが作動した時刻を知ることができません。デバイスのファームウェア、接続、OS、ブラウザーのディスパッチ、メインスレッドの負荷が含まれるため、現在のブラウザー環境の安定性を比べる用途に向いています。

P95のキーボード遅延は何を意味しますか?

P95は、有効なサンプルのおよそ95%がその値以下であることを示します。平均値より遅いイベントの裾を捉えやすい一方、サンプルが少ないと安定しません。

ツール情報と出典

すべてのキーイベントと統計はこのブラウザー内でローカルに処理します。アップロード、リモートAPIの呼び出し、URLやローカルストレージへの書き込みは行いません。

サードパーティの実行コードやアセットは使用していません。アルゴリズムとインターフェースは独自に実装し、外部リンクはブラウザーイベントと高精度時刻の標準を説明するためだけに使用しています。

標準と測定方法の出典