Home
Packages
Forums
Wiki
GitLab
Security
AUR
Download
コンテンツにスキップ
メインメニュー
メインメニュー
サイドバーに移動
非表示
案内
メインページ
目次
コミュニティに貢献
最近の出来事
おまかせ表示
特別ページ
交流
ヘルプ
貢献
最近の更新
最近の議論
新しいページ
統計
リクエスト
ArchWiki
検索
検索
表示
アカウント作成
ログイン
個人用ツール
アカウント作成
ログイン
マウスのポーリングレートのソースを表示
ページ
議論
日本語
閲覧
ソースを閲覧
履歴を表示
ツール
ツール
サイドバーに移動
非表示
操作
閲覧
ソースを閲覧
履歴を表示
全般
リンク元
関連ページの更新状況
ページ情報
表示
サイドバーに移動
非表示
←
マウスのポーリングレート
あなたには「このページの編集」を行う権限がありません。理由は以下の通りです:
この操作は、次のグループに属する利用者のみが実行できます:
登録利用者
。
このページのソースの閲覧やコピーができます。
[[Category:マウス]] [[en:Mouse polling rate]] {{Related articles start}} {{Related|マウスのアクセラレーション}} {{Related|全てのマウスボタンを動作させる}} {{Related articles end}} 高解像度マウスを購入したときは、マウスの精度を活用するために USB のポーリングレートを調整するのが常套手段です。ポーリングレート (またはレポートレート) はマウスがコンピュータに情報を送信する頻度を示します。 == ポーリングレートとポーリング間隔 == デバイスのポーリングレートはヘルツ (Hz) で表され、ポーリング間隔によってポーリングレートが決まります。ポーリング間隔はミリ秒 (ms) で表記され、遅延時間と置き換えることができます。 デフォルトのポーリング間隔は 10ms です。ただし、USB コントローラはポーリング間隔を2の冪乗に切り捨ててしまいます。したがって、ポーリング間隔が 10ms に設定されている場合、実際には 8ms がポーリング間隔になります。7ms に設定したときは 4ms になります。 {| class="wikitable grid" ! class="header" | Hz ! class="header" | ms |- |1000 |1 |- |500 |2 |- |250 |4 |- |125 |8 |- |100 |10 |} 上記はポーリングレートのヘルツの値とポーリング間隔のミリ秒の対応表です。 ポーリングレートが 125 Hz に設定されている場合、マウスカーソルは8ミリ秒毎にしか更新されないことになります。遅延が致命的な状況 (例えばゲームなど) では、できるかぎりポーリングレートを下げるのが良いでしょう。ただし、ポーリングの間隔を増やすと精度が上がりますが、代わりに CPU の使用量は増加します。値を調整するときはこのことに注意してください。 == ポーリングレートの表示 == {{ic|evhz}} ツールを使うことでマウスのリフレッシュレートを表示できます。 {{AUR|evhz-git}} パッケージをインストールして root で以下のコマンドを実行: # evhz {{ic|Average}} の値が安定するまで大きな円を描くようにマウスを動かしてください。確認できたら {{ic|Ctrl+c}} で終了できます。 {{ic|Latest}} の値が安定せず、2つの値をいったりきたりする場合、設定されているポーリングレートがデバイスの限界値を上回っています。[[#USB デバイスの速度]]を見てください。 ポーリングレートは [http://razerblueprints.net/index.php/View-document-details/18-DirectX-mouserate-checker.html DirectX mouserate checker] などの Windows のツールを [[Wine]] で実行することでも確認可能です。 == ポーリング間隔の表示 == {{Note|1=以下のコマンドで表示されるのはデバイスによって要求されているポーリング間隔であり、実際に使われている値ではありません。詳しくは [https://bbs.archlinux.org/viewtopic.php?pid=1607073#p1607073 フォーラムスレッド] を参照。}} ポーリング間隔などのデバイス情報は debugfs で確認できます。root 権限が必要です。 まずは、デバイスの Vendor ID と Product ID を確認してください: {{hc|$ lsusb|Bus 001 Device 002: ID '''045e''':'''0024''' Microsoft Corp. Trackball Explorer Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub}} それから確認できた ID を指定して以下のコマンドを実行することでデバイスのデバッグ状態を表示できます: {{hc|# grep -B3 -A6 ''045e''.*''0024'' /sys/kernel/debug/usb/devices|2=T: Bus=01 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#= 2 '''Spd=1.5''' MxCh= 0 D: Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS= 8 #Cfgs= 1 P: Vendor=045e ProdID=0024 Rev= 1.21 S: Manufacturer=Microsoft S: Product=Microsoft Trackball Explorer® C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=03(HID ) Sub=01 Prot=02 Driver=usbhid E: Ad=81(I) Atr=03(Int.) MxPS= 4 '''Ivl=10ms'''}} {{ic|Ivl}} がポーリング間隔です。上記の例では 10ms が要求されています ([[#ポーリングレートとポーリング間隔]]で説明しているように実際に使われる値は 8ms になります)。{{ic|Spd}} はデバイスの速度です。詳しくは [[#USB デバイスの速度]]を見てください。他のフィールドの情報については [https://git.kernel.org/cgit/linux/kernel/git/stable/linux-stable.git/tree/Documentation/usb/proc_usb_info.txt カーネルドキュメント] を参照してください。 debugfs や root 権限が使えない場合、以下のコマンドでポーリング間隔を表示できます: {{hc|1=$ lsusb -vd ''045e'':''0024'' | grep bInterval|2=bInterval 10}} == USB デバイスの速度 == [[Wikipedia:USB|USB]] デバイスは特定のビットレートで動作するように設計されています。ポインティングデバイスの多くは "Low Speed" 1.5Mbit/s デバイスです。デバイスの速度は[[#ポーリング間隔の表示]]と一緒に確認できます。 "Low Speed" デバイスは 8ms 未満のポーリング間隔を使うことができません。 全ての USB ハブが "Full Speed" 12Mbit/s を利用できる必要があります。デバイスが接続しているハブの速度は以下のコマンドで確認できます ({{ic|1=Bus=xx}} は[[#ポーリング間隔の表示]]で確認できた値を使います): {{hc|1=# grep -B1 -A10 "Bus=''01'' Lev=00" /sys/kernel/debug/usb/devices|2=T: Bus=01 Lev=00 Prnt=00 Port=00 Cnt=00 Dev#= 1 '''Spd=12''' MxCh= 2 B: Alloc= 11/900 us ( 1%), #Int= 1, #Iso= 0 D: Ver= 1.10 Cls=09(hub ) Sub=00 Prot=00 MxPS=64 #Cfgs= 1 P: Vendor=1d6b ProdID=0001 Rev= 4.01 S: Manufacturer=Linux 4.1.18-1-lts uhci_hcd S: Product=UHCI Host Controller S: SerialNumber=0000:00:10.0 C:* #Ifs= 1 Cfg#= 1 Atr=e0 MxPwr= 0mA I:* If#= 0 Alt= 0 #EPs= 1 Cls=09(hub ) Sub=00 Prot=00 Driver=hub E: Ad=81(I) Atr=03(Int.) MxPS= 2 Ivl=255ms}} ハブの {{ic|Ivl}} はデバイスのポーリングレートとは無関係です。 == ポーリングレートの設定 == {{ic|usbhid}} [[カーネルモジュール]]の {{ic|mousepoll}} オプションを使うことでポーリングレートを設定できます。デフォルトの値は 0 で、デバイスによって要求された値が使用されます。 オプションの現在の値を確認するには: {{hc|$ systool -m usbhid -A mousepoll|2=Module = "usbhid" mousepoll = "0"}} 設定を変更するには以下のファイルを作成: {{hc|/etc/modprobe.d/usbhid.conf|2=options usbhid mousepoll=4}} 上記の例ではポーリングレートを 250Hz とするよう要求しています。 再起動せずにポーリング間隔を変更するには: # modprobe -r usbhid && modprobe usbhid {{Warning|2番目のコマンドが失敗した場合、USB マウスやキーボードが全て使えなくなります。マシンを再起動するか SSH で接続しないと操作できなくなります。}} 変更を適用するにはマウスを一度切断してから再接続してください。 {{Note|usbhid モジュールを initramfs イメージに組み込む場合、イメージにも {{ic|/etc/modprobe.d/usbhid.conf}} を追加する必要があります。[[カーネルモジュール#/etc/modprobe.d/ 内のファイルを使う]]のノートを見てください。または、カーネルコマンドラインに {{ic|1=usbhid.mousepoll=X}} を追加する方法もあります。[[カーネルモジュール#カーネルコマンドラインを使う]]を見てください。}} {{Tip|デフォルトのポーリング間隔よりも小さな値を使用する場合、[[マウスのアクセラレーション]]設定の [http://xorg.freedesktop.org/wiki/Development/Documentation/PointerAcceleration/#VelocityScale VelocityScale] オプションを調整すると良いでしょう。}} == 既知の問題 == === 要求したポーリングレートの半分でポーリングされる === 2015年5月現在、特定の設定ではデバイスのポーリングレートを 1000Hz (1ms) にできないというカーネルバグが存在します。[https://bbs.archlinux.org/viewtopic.php?pid=1528109 フォーラムスレッド] や [https://bugzilla.kernel.org/show_bug.cgi?id=60586 バグレポート] を見てください。 デバイスを、異なるドライバーが適用された USB ポートに繋ぐことが回避策となることがあります。 === ポーリングレートが変更されない === USB 3 ドライバー {{ic|xhci-hcd}} が {{ic|usbhid}} {{ic|mousepoll}} の設定を無視することがあります。[https://www.spinics.net/lists/linux-usb/msg94744.html linux-usb メーリングリストのメッセージ] や [https://bugzilla.kernel.org/show_bug.cgi?id=82571 バグレポート] を参照してください。 {{ic|xhci-hcd}} モジュールはデバイスによるインターバル要求を受け入れるので、デバイスのハードウエアやファームウエアの設定ドキュメントを確認してください。 デバイスを、異なるドライバーが適用された USB ポートに繋ぐと回避策となることがあります。 他の回避策としては、BIOS の設定を変更するか、{{ic|xhci-hcd}} モジュールを[[ブラックリスト]]に入れて、xHCI を無効にする方法があります。しかし、xHCI を無効にすると、{{ic|ehci-hcd}} モジュールが利用され、USB 3 ポート全てが USB 2 相当に制限されます。 {{Tip|{{ic|/sys/kernel/debug/usb/devices}} の USB ハブデバイスにおける {{ic|S: Manufacturer}} の行を確認すると、利用されている {{ic|hcd}} ドライバーが確認できます。}} == 参照 == *[http://www.overclock.net/computer-peripherals/173255-cs-s-mouse-optimization-guide.html CS:S Mouse Optimization Guide] - Windows ユーザーを対象にしていますが、原則的には Linux にも当てはまる部分があります。
このページで使用されているテンプレート:
テンプレート:AUR
(
ソースを閲覧
)
テンプレート:Hc
(
ソースを閲覧
)
テンプレート:Ic
(
ソースを閲覧
)
テンプレート:META Related articles start
(
ソースを閲覧
)
テンプレート:Note
(
ソースを閲覧
)
テンプレート:Related
(
ソースを閲覧
)
テンプレート:Related articles end
(
ソースを閲覧
)
テンプレート:Related articles start
(
ソースを閲覧
)
テンプレート:Tip
(
ソースを閲覧
)
テンプレート:Warning
(
ソースを閲覧
)
マウスのポーリングレート
に戻る。
検索
検索
マウスのポーリングレートのソースを表示
話題を追加