VRに重要なUSB帯域とルートハブの関係

2017年2月14日

VR機器はUSBをヘビーに使います。同梱品を普通にPCにつなげる最小構成でも、USB帯域とルートハブの関係を理解しておく事が必要です。

この記事はOculusのブログ記事「Oculus Roomscale: Balancing Bandwidth on USB」の日本語訳になります。

この記事を読むことで、USB 3.0とUSB 2.0の性能の違い同時に使った場合の挙動ルートハブの関係を理解しながら適切な接続方法を理解することができます。

USBケーブルを延長する場合については以下の記事も参照して下さい。

USB延長の落とし穴・安定させるコツ

USB帯域幅とホストコントローラ

とにかく「USB接続のトラッキングデータ転送負荷のバランスをとる」とはどういう意味ですか?

ほとんどの家庭用PCの所有者は、USBを酷使していません。 HDウェブカメラを接続するかもしれませんが、(外部ストレージを除く)多くのデバイスは非常に高い帯域幅の要件を持っていません。大量のデータをPCに送信してやりくりするOculusセンサーを3つ接続すると、USBホストコントローラーが処理できるデータよりも多くのデータを送信しようとする問題に陥る可能性があります。 USB 3.0モードの2つのセンサーを1つのUSBホストコントローラーに接続し、3つ目のセンサーをUSB 2.0モードで接続することを推奨します。

つまり、3つのセンサーのうちの2つをUSB 3.0に接続し、USB 2.0に1つのセンサーを接続するだけで十分です。 これらのガイドラインは、他の設定を試したり、特定のコンピュータセットアップでUSB問題を改善するのに役立ちます。

推奨される3センサー構成(2つのUSB 3.0と1つのUSB 2.0)
推奨される3センサー構成(2つのUSB 3.0と1つのUSB 2.0)

お使いのコンピュータのマザーボードには、さまざまな機能を提供する多数のチップが搭載されています。 1つはUSBホストコントローラーで、USBデバイスを制御し、それらのデバイスとコンピューター間でデータを送信します。

典型的なマザーボードの単一のホストコントローラに3つのセンサが接続された例
典型的なマザーボードの単一のホストコントローラに3つのセンサが接続された例

単一のUSBホストコントローラは、ほとんどの場合、複数のUSBポートを提供しますが、これらのポートで使用できる合計帯域幅は共有されます。 1つのUSBポートに4つ、または8ポートのハブが接続されていると考えてください。任意のホストコントローラまたはルートハブの利用可能な帯域幅の合計は、次の値に近い値になる可能性があります(帯域幅はさまざまです)。

  • USB 3.0 – ホストコントローラあたりの総理論帯域幅 = 5Gbps(625MB/秒)
  • USB 3.0 – ホストコントローラあたりの総実用帯域幅 = 3.2Gbps(〜400MB/秒)
  • USB 2.0 – ホストコントローラあたりの総理論帯域幅 = 480Mbps(60MB/秒)
  • USB 2.0 – ホストコントローラあたりの総実用帯域幅 = 308Mbps(〜36MB/秒)

USB 3.0には、USB 2.0よりも利用可能な帯域幅がはるかに多いことがわかります。そんな訳で、さまざまなメーカーの異なるUSB 3.0ホストコントローラをテストしながらいくつかのパターンを発見しました。

3つ以上のセンサーを1つのUSB 3.0ホストコントローラーに接続すると、散発的な動作上の問題やセンサーデータの損失が発生し、トラッキングの品質とVRの体験に影響します。

3つ目のセンサには、3つの高帯域な接続を同時に必要とするUSB 3.0接続よりも、より低帯域で信頼性のあるUSB 2.0接続を利用した方が一般的に良いです。

  • USB 3.0 – 1つのホストコントローラにつき最大2つのセンサーを接続します
  • USB 2.0 – 1つのホストコントローラにつき最大2つのセンサーを接続します

この USB 3.0 の最大接続数のオススメは、互換性テストの観測結果に基づいており、厳格な決まりではありません。

2つのセンサーを1つのUSBホストコントローラーに USB 2.0モードで接続すると、ホストコントローラーの使用可能な帯域幅の約80%が使用されます。そのため、USB 2.0モードで2つ以上のOculusセンサーを単一のホストコントローラーに接続すると、どのような状況でも確実に動作することはありません。

センサーをPCに接続するときは、次の点に注意してください。

  1. PCにはさまざまな数のホストコントローラがあり、複数のUSBポートにまたがって帯域幅を共有します。
  2. 単一のホストコントローラに接続されるデバイスの最大帯域幅は、通常、USB 3.0モードで約400MB/秒、USB 2.0モードで36MB/秒です。
  3. これらの帯域幅は、一般にUSB規格間では無関係です。したがって、USB 3.0で帯域を使用しても、同じホストコントローラで使用可能なUSB 2.0帯域幅は減少しません。
  4. いずれのモードでも、最大2つのセンサを特定のホストコントローラに接続することを推奨します。最高の体験をお届けするために現在推奨されているのは、合計3つのセンサーで最大2つのUSB 3.0と1つのUSB 2.0です。
  5. USBハブをコンピュータに接続しても、特定のホストコントローラで使用可能な帯域幅は増加しません。したがって、ハブを使用してセンサーをPCに接続することはお勧めしません。

これにより、OculusルームスケールのUSB帯域幅を管理することができます。次回の記事では、ホストコントローラの特定についてお話します。

ーThe Oculus Team

※ルームスケールはオプション機能です。 結果とパフォーマンスは異なる場合があります。 すべてのPCが、私たちの推奨および最小仕様を満たすPCを含む、ルームスケールをサポートするのに十分なポートを持つわけではありません。


翻訳記事はここまでです。最近のマザーボードには二つのホストコントローラ(ルートハブ)を装備していることが多いので、うまくポートを選べば全てUSB 3.0モードで3つのセンサーを接続することは可能です。

ですが、3つめのセンサーは補助的なものですので、そこまでの帯域は必要ありません。そこで、3つめのセンサーには確実に他のセンサーと競合しないUSB 2.0での接続をオススメしているというわけです。

もし、この通りに接続してうまくいかない場合は以下の記事を参考にしてどのホストコントローラにつながっているかを確認してみて下さい。

VR機器が正しくUSBホストコントローラにつながっているか確認する方法

もし、ケーブルを延長している場合は以下の記事も参照して下さい。

USB延長の落とし穴・安定させるコツ