コントローラー · 8分で読めます

コントローラーのポーリングレート: ブラウザの上限

ブラウザは描画フレームごとに1回ゲームパッドを読み取るため、コントローラーのポーリングレートテストではディスプレイの性能を超える数値を測定できません。上限を測定し、その数値と照らし合わせて確認してください。

2026年9月12日更新 · Keymap Labs 編集部

検索エンジンで「controller polling rate test」と検索すると、Hz単位の数値を表示するページがいくつも出てきます。同じコントローラーでそのうちの2つを実行しても、異なる結果が出ることがよくあります。60 HzのノートPCと144 Hzのモニターで、同じパッドを使ってテストしても、全く異なる結果が得られるでしょう。

その数値はランダムではありません。それはあなたのリフレッシュレートです。

仕組みを1つの段落で

ブラウザはゲームパッドの入力をイベントとして受け取りません。 oncontrollermoveはありません。ページは navigator.getGamepads()に対して現在の状態を問い合わせますが、その問い合わせに最適な場所はアニメーションコールバック内、つまりブラウザが描画フレームごとに1回実行する関数の中です。そのため、ページは1フレームにつき最大で1回の状態変化しか観測できません。60 fpsなら1秒間に60回、144 fpsなら144回の観測となり、接続されているパッドが125 Hzでレポートしていようが1000 Hzでレポートしていようが、結果に違いはありません。

以下のすべてはこの事実に基づいています。

それでも数値が意味を持つ理由

上限の測定値も無価値ではありません。それは下限値です。コントローラーがディスプレイの表示速度に追いついていることを示しており、これこそがゲームに反映される部分です。コントローラーからの新しいデータがないフレームは、視点が動かないフレームであり、それこそがまさに避けるべき状況です。

できないのは、ディスプレイより余裕を持って先行しているパッドと、かろうじて追いついているパッドを区別することです。どちらも同じ数値が表示されます。

数値が現実的な場合

測定値が明らかに 以下であれば、コントローラーの方が遅く、その数値は純粋な測定結果です。これはBluetooth接続でよく見られるケースであり、対策を検討すべき状況です。新しいデータが届かないため、ゲームのフレームの一部で以前のスティック位置が再利用されることになります。

判断基準は以下の通りです:

  • 上限に達している場合— 修正の必要はありません。ブラウザが認識できない数値をケーブルで上げることはできません。
  • 上限を下回っている場合— パッドがボトルネックになっています。ケーブル接続で再度試す価値があります。同じパッドでも有線接続の方がBluetoothよりもはるかに高速にレポートされることが多いためです。

参照テーブルの意味

ほとんどのポーリングレート測定ページには、以下のような表が掲載されています:

接続 一般的なレポート値
USBケーブル around 1000 Hz
2.4 GHzレシーバー around 1000 Hz
Bluetooth、Xboxパッド around 125 Hz
Bluetooth、PlayStationパッド around 250 Hz and up

これらの数値はプロトコルに基づくものであり、ブラウザから得られたものではありませんが、有用なコンテキストとなります。ただし、上記の仕組みと照らし合わせた表の意味に注目してください。144 Hzのディスプレイでは、Bluetooth接続のXboxパッド以外のすべての行が上限を超えてしまいます。ブラウザはこれらを区別できません。この表は、ブラウザのテストでは1つの答えに集約されてしまうハードウェアの範囲を説明しているに過ぎません。

スティックを動かす必要がある理由

静止しているコントローラーは、パケットの送信を完全に停止することがあります。レポートすべき内容がなく、沈黙することでバッテリーを節約するためです。手を触れていない状態で状態変化をカウントするテストは、アイドル時のレートを測定し、それをポーリングレートと呼んでいることになります。

そのため、信頼できるテストでは、サンプル測定中は常にスティックを動かすよう求めています。疑わしいほど低い数値が表示された場合は、ハードウェアについて結論を出す前に、まずこれを確認してください。

これがゲームにとって何を意味するか

ほとんど影響はありません。これこそがHzの議論でしばしば見落とされる部分です。ゲームはブラウザと同様の理由で、独自のスケジュール(通常はシミュレーションティックごと、またはフレームごとに1回)でコントローラーを読み取ります。120 fpsで動作するゲームに対して1000 Hzでレポートするパッドは、読み取りごとに約8つのパケットを送信していますが、そのうち7つはゲームが参照する前に上書きされています。

より高速なパッドが推奨される理由は、ゲームがより多くのパケットを読み取るからではありません。読み取りの瞬間に最新のパケットがより新鮮であるためです。1000 Hzであればデータは最大でも1ms前ですが、125 Hzでは8ms前になる可能性があります。これは現実的かつわずかな差であり、Hzの数値が示唆するものとは異なる主張です。

比較可能な数値を得る方法

  1. 実際にプレイしているマシンと、実際に使用しているディスプレイで測定してください。
  2. 結果の横にリフレッシュレートを記録してください。それがなければコントローラーの読み取り値は解釈できません。
  3. サンプリング中は両方のスティックを回し続けてください。
  4. もう一度繰り返してください。他の2回と異なる1回の実行結果は、ハードウェアの問題ではなくスケジューリングの不具合です。
  5. 数値がリフレッシュレートを下回る場合は、ケーブルを使用して再度測定してください。上限に達している場合は、改善の余地はありません。

この コントローラーチェックは、ドリフト、スティックの可動域、ボタン、トリガーのテストと並行してこれを実行し、読み取り値の横に上限を表示します。入力遅延テストは、同じ測定値と背後にある間隔分布をレポートします。これは単一の数値よりもはるかに有益な情報です。

要約

ブラウザは描画フレームごとに1回ゲームパッドをポーリングします。ブラウザが提示するコントローラーのポーリングレートはリフレッシュレートによって制限されるため、上限に達している場合は「少なくともこの速度であり、このページではこれ以上測定できない」ことを意味します。上限を下回る数値のみがコントローラー本来の数値であり、改善を試みる価値があるのはその数値だけです。