USBデバイスのポーリング速度を修正

USBデバイスのポーリング速度を修正

この動画ポーリング速度を上げると、ゲームコントローラの平均入力遅延がどのように減少するかが示されます。残念ながら、ポーリング率を修正するために使用されるソフトウェアは次のとおりです。ヒドゥスバフそしてWindowsに固有のものです。私が見つけたgcadapter-oc-kmodLinuxでGameCubeアダプタのポーリング速度を上げるために使用できますが、USBデバイスのポーリング速度を変更する方法を知りたいです。

答え1

まず、デバイスがどのドライバを使用しているかを調べる必要があります。 HID USBマウス、キーボード、ジョイスティックの場合、ドライバusbhidには独自のパラメータとmousepollkbpollありますjspoll。これらのパラメータの値は、ポーリング周期(T)をミリ秒単位で決定する数値です。これは、ポーリング速度(f)に反比例し、2の累乗で四捨五入されます。したがって、ポーリング速度が250Hzの場合は4に設定され、ポーリング速度が125Hzの場合は8に設定され、ポーリング速度が1kHzの場合は1に設定されます。このパラメータが0(デフォルト)に設定されている場合、ドライバはHIDデバイスに最適なポーリングレートを決定します。

実行中のシステムでこのパラメータを変更するには、次のコマンドを実行します(rootアクセスが必要)modprobe -r usbhid && modprobe usbhid mousepoll=1 kbpoll=2 jspoll=4。最初の部分はusbhidドライバをアンロードし、2番目の部分は指定されたパラメータを使用してドライバをロードします(注意していないパラメータは無視してもかまいません)。 2番目のコマンドが失敗すると、入力デバイスへのアクセス権が失われる可能性があります(回復オプションは再起動、システムへのリモートアクセス、またはPS / 2キーボード/マウスを使用)。これらの変更を維持するには、同様の行を追加するか、options usbhid mousepoll=1 kbpoll=2 jspoll=4類似/etc/modprobe.d/usbhid.confのパラメータをカーネルコマンドラインに追加します。usbhid.mousepoll=1 usbhid.kbpoll=2 usbhid.jspoll=4

ただし、デバイスがHIDデバイスでない場合(GameCubeアダプタの場合のように)、ドライバはそのパラメータをユーザーに公開しない可能性があります。この場合、ドライバのソースコードの値を変更して再コンパイルする必要があります。

関連情報