The mighty USB port has proven itself an indispensable technology in computing, one that has grown and matured over time in various ways (speed and shape, mostly). It's a technology we often take for granted, at least until something goes wrong. That doesn't happen very often, though if you're trying to configure room-scale VR with your Rift headset, you might run into some bandwidth challenges. Oculus explains why that is the case and how to avoid them.
In the second blog post of a three-part series dealing with room-scale, Oculus explains that it's best to try and balance the load for tracking data on multiple USB host controllers. For the most part, this is not something that we've had to worry about, as the vast majority of USB devices aren't all that taxing. Room-scale VR is different.
"If you connect three Oculus sensors—each sending and managing a ton of data locally—you can run into problems when they try to send more data than the USB host controller can handle. That’s why we recommend only connecting two sensors in USB 3.0 mode to a single USB host controller and connecting the third sensor in USB 2.0 mode," Oculus explains.
In almost every case, a single USB host controller serves more than one USB port. The total bandwidth available is shared among them, which is why adding a USB hub doesn't help alleviate a potential bandwidth shortage, it just adds more ports.
With USB 3.0, the theoretical bandwidth per controller is 5Gbps (625MB/s), which is more like 3.2Gbps (around 400MB/s) when accounting for overhead. And for USB 2.0, the total bandwidth is 480Mbps (60MB/s), or around 308Mbps (around 36MB/s) after overhead is factored in.
Though USB 3.0 offers significantly more bandwidth than USB 2.0, Oculus says it's observed some interesting patterns when testing different USB 3.0 host controllers.
"Connecting more than two sensors to a single USB 3.0 host controller can cause sporadic behavioral issues and lost sensor data, which affects tracking quality and your VR experience," Oculus says.
Devices connected to the same controller in USB 2.0 mode don't share bandwidth with USB 3.0 devices, so Oculus says it's generally better to have a reliable lower-bandwidth USB 2.0 connection for your third sensor versus running three high-bandwidth USB 3.0 connections at the same time.
You may have multiple USB host controllers on your motherboard. However, if you're having trouble balancing the Rift's room-scale sensors across multiple host controllers, one way to solve that is by purchasing a PCI-Express USB card. In the third and final blog post on the matter, Oculus said it's had good luck with the HighPoint RocketU 1144d, Startech SuperSpeed USB 3.0, and Inateck SuperSpeed USB 3.0.