Question Are the new xbox controllers still usb2?

Why does it matter? Controllers are polled at a slow rate and they have such low data to provide that even 1.5Mbps from USB 1.0 would still look fast. But let's put these words into practice.

Now I don't know the exact format used in the protocol, but I've dealt with enough things like this to have a good idea. So let's assume the following:
  • 1 byte for the state of the face buttons and D-pad (each button represents a bit)
  • 1 more byte to handle the shoulder bumpers, menu and back buttons, and the Xbox button (this totals 5 bits)
  • 2x2 (4 total) bytes for the X-Y position of the thumb sticks
  • 2x1 (2 total) bytes for how much the triggers are pressed
So we basically need 8 bytes total to determine what's being pressed on the Xbox controller. Assume another 8 for overhead including header and integrity (I'm not getting a clear answer and the protocol is too complicated for me to process at this hour), we only need to send 16 bytes. If the controller polls at a rate of 125 Hz, this is a total of 2,000 bytes per second. Taking the 1.5Mbps bandwidth of USB 1.0, dividing by 10 because of the 8b/10b encoding overhead, we get 150,000 bytes per second available.

Of course, the controller receives audio data, so 1.5Mbps isn't going to cut it. However, USB 2.0 has plenty of bandwidth for stereo headphones even with uncompressed 16-bit 44.1KHz audio.

There's no point in going to USB 3.0.
 

nelska

Prominent
Oct 29, 2022
84
2
535
Why does it matter? Controllers are polled at a slow rate and they have such low data to provide that even 1.5Mbps from USB 1.0 would still look fast. But let's put these words into practice.

Now I don't know the exact format used in the protocol, but I've dealt with enough things like this to have a good idea. So let's assume the following:
  • 1 byte for the state of the face buttons and D-pad (each button represents a bit)
  • 1 more byte to handle the shoulder bumpers, menu and back buttons, and the Xbox button (this totals 5 bits)
  • 2x2 (4 total) bytes for the X-Y position of the thumb sticks
  • 2x1 (2 total) bytes for how much the triggers are pressed
So we basically need 8 bytes total to determine what's being pressed on the Xbox controller. Assume another 8 for overhead including header and integrity (I'm not getting a clear answer and the protocol is too complicated for me to process at this hour), we only need to send 16 bytes. If the controller polls at a rate of 125 Hz, this is a total of 2,000 bytes per second. Taking the 1.5Mbps bandwidth of USB 1.0, dividing by 10 because of the 8b/10b encoding overhead, we get 150,000 bytes per second available.

Of course, the controller receives audio data, so 1.5Mbps isn't going to cut it. However, USB 2.0 has plenty of bandwidth for stereo headphones even with uncompressed 16-bit 44.1KHz audio.

There's no point in going to USB 3.0.
I think eventually they will. There's a few mice on the market these days that have such high polling rate they have to be 3.0 the razer viper 8k. If they ever do itll probably be to accommodate for that new dpad thats like 3d and has like 100 combinations of buttons on it you could press cuz its shaped like a bowl of squares. its got 2 more vibration motors init for the bumpers. to get all that running. ect. I just dont like plugging a 2.0 into a 3.0 i know its backwards comaptible but it feels like junk. remeber those old cassettes you plugged into the car to get it to play the radio over a reciever to it. lol. from a portable cd player. that kinda junk feel. lol. i duno why i thought of that. the current ones are 2.0 but they only use like 1.1
 
I think eventually they will. There's a few mice on the market these days that have such high polling rate they have to be 3.0 the razer viper 8k. If they ever do itll probably be to accommodate for that new dpad thats like 3d and has like 100 combinations of buttons on it you could press cuz its shaped like a bowl of squares. its got 2 more vibration motors init for the bumpers. to get all that running. ect. I just dont like plugging a 2.0 into a 3.0 i know its backwards comaptible but it feels like junk. remeber those old cassettes you plugged into the car to get it to play the radio over a reciever to it. lol. from a portable cd player. that kinda junk feel. lol. i duno why i thought of that. the current ones are 2.0 but they only use like 1.1
8k polling rate (125 µs) is on high speed USB (usb 2.0)
1k polling rate (1 ms) is on full speed usb (usb 1.0)
many mouses runs at both low speed/highspeed usb (usb 1.0) and have 125Hz/250+ polling to save power when nothing is pressed for a while

that polling is for controller for talking with multiple devices, meaning if you use 8k polling on mouse, it pretty much creates high latency for your other usb devices

even tho i do mention usb 1.0, usb 1.0 itself (name) became obsolete and it is properly named usb 2.0 full speed (12Mbit/s) or usb 2.0 low speed (1.5Mbit)


usb 3.x (superspeed or better) does not use any polling but it allows to change polling on usb 2.x devices by +-13,33 µs
 
Last edited:

nelska

Prominent
Oct 29, 2022
84
2
535
8k polling rate (125 µs) is on high speed USB (usb 2.0)
1k polling rate (1 ms) is on full speed usb (usb 1.0)
many mouses runs at both low speed/highspeed usb (usb 1.0) and have 125Hz/250+ polling to save power when nothing is pressed for a while

that polling is for controller for talking with multiple devices, meaning if you use 8k polling on mouse, it pretty much creates high latency for your other usb devices

even tho i do mention usb 1.0, usb 1.0 itself (name) became obsolete and it is properly named usb 2.0 full speed (12Mbit/s) or usb 2.0 low speed (1.5Mbit)


usb 3.x (superspeed or better) does not use any polling but it allows to change polling on usb 2.x devices by +-13,33 µs
I bought an analog huntsman v2 razer keyboard that mandates 3.0 port to operate but i plugged it into the software and the keyboard itself is 2.0. The passthrough port running from the side of the keyboard is a 3.0 port passthrough. sad they actually advertise it as a 3.0 device because it has a passthrough port on the keyboard.. has nothing to do with the keyboard itself. hahaha
 
I think eventually they will. There's a few mice on the market these days that have such high polling rate they have to be 3.0 the razer viper 8k. If they ever do itll probably be to accommodate for that new dpad thats like 3d and has like 100 combinations of buttons on it you could press cuz its shaped like a bowl of squares. its got 2 more vibration motors init for the bumpers. to get all that running. ect. I just dont like plugging a 2.0 into a 3.0 i know its backwards comaptible but it feels like junk. remeber those old cassettes you plugged into the car to get it to play the radio over a reciever to it. lol. from a portable cd player. that kinda junk feel. lol. i duno why i thought of that. the current ones are 2.0 but they only use like 1.1
Even something like a D-pad that's "analog" or whatever could still fit within 2-4 bytes, depending on what it's doing.

Controllers don't need a lot of data. Even something as fancy as a VR setup still doesn't need a lot of data for the actual player input. The only thing that would come close to actually needing USB 3.0 speeds is something like the Kinect if it were capturing things at 4K.

Also it doesn't really matter how fast the data gets to the application, since the application is only going to process inputs at a specific rate anyway. If the game engine processes inputs at say 300Hz, it's not going to matter if you have a controller that polls faster, except maybe in super hyper competitive play.
 

nelska

Prominent
Oct 29, 2022
84
2
535
Even something like a D-pad that's "analog" or whatever could still fit within 2-4 bytes, depending on what it's doing.

Controllers don't need a lot of data. Even something as fancy as a VR setup still doesn't need a lot of data for the actual player input. The only thing that would come close to actually needing USB 3.0 speeds is something like the Kinect if it were capturing things at 4K.

Also it doesn't really matter how fast the data gets to the application, since the application is only going to process inputs at a specific rate anyway. If the game engine processes inputs at say 300Hz, it's not going to matter if you have a controller that polls faster, except maybe in super hyper competitive play.
Yeh, I still have an oldschool pc with 2.0 ports im assuming if i remade it with a mobo that doesnt have them anymore it totally wouldnt matter.