112

I'm looking for an authoritative answer, backed by data. A friend asked me the other day whether he would benefit from plugging his mouse into a USB 3.0 port instead of an available 2.0 port. I flippantly replied that it would make no difference at all. Certainly I'm not the only one to think that. See answers on:

Intuitively, I don't think data throughput should be an issue. Mice worked fine over a serial port, and those transfer at a maximum of 112.5 Kbps. USB 1.0 runs at 1.5Mbps (slow) or 12Mbps (fast). USB 2.0 can handle 480Mbps, and 3.0 can reach 5 Gbps.

But what about response speed? Are there published studies of response time between USB 2.0 and 3.0 ports?

My question is, was I right? Would it matter if I have a really fancy mouse? Can my friend safely blame his loss in League of Legends on his slow USB port?

0

6 Answers 6

131
  1. A mouse is a slow device (the old PS/2 standard was RS232C-based), so USB1 is more than adequate.
  2. USB3 ports have extra connectors for the high-speed transfers, but also have standard USB2 connectors for backwards compatibility.
  3. Unless your mouse has these connectors (and I cannot imagine that any mouse has) it will connect via USB2 in a USB3 connector.

So you are entirely correct: plugging a mouse into a USB3 connector confers no benefit whatever. If a mouse responds slowly, it is because something else is hogging the CPU to the detriment of the mouse driver.

4
  • 3
    It is a good point that the mouse isn't even going to use USB 3 even if connected to such a port. I would just like to add to that by saying that it's likely to not even use USB 2; the USB controller in a mouse isn't likely to support anything beyond USB 1.1.
    – Dolda2000
    Commented Jul 21, 2014 at 8:06
  • 1
    @Dolda2000: A device using USB1.1 will force the port to use USB1.1, which is Not A Good Thing (it has various quirks in addition to being sloooow); most mice I could get my hands on report as USB 2.0 devices. Commented Jul 28, 2014 at 13:46
  • 2
    Not to mention the fact that with wireless mice, the data rates with USB 3 can cause interference with 2.4GHz antennas commonly found in wireless mice (found this out first-hand with my logitech). Commented Feb 3, 2017 at 5:48
  • My mouse supports USB 2.0, but when I use HWiNFO64 to look, it says the USB Device Speed is USB 1.1 Full-speed (which according to Google is 12 Mbps), so not even USB2 speed is required :) Commented Nov 2, 2018 at 21:34
37

Just because data rate of a mouse is very low and can be handled by USB 1.x does not mean it can't benefit from being plugging into a faster controller.

There are a number of factors in play here:

  • USB 3.0 controllers support backward compatibility by performing enumeration in a way that is compatible with USB 1.x and 2.0 devices, and exposing a logical EHCI controller as part of the register map.

  • The mouse will identify itself as a USB full-speed device regardless of the port and controller it is connected to. This will cause the mouse to appear logically connected to the EHCI controller (sometimes even OHCI/UHCI).

  • Having a logical EHCI controller does not mean that the device is attached to a USB 2.0 circuit. The connection between system and USB 3.0 host controller will be higher speed, probably multi-lane PCIe. It's also much less likely to go through a PCIe-PCI bridge, which causes buffering and slight additional latency.

  • Besides the host-side connection, the transistors driving the USB pins will also have a higher switching rate, and instead of passive components for noise filtering, the bus will use digital switches in the filter network, to allow it to be removed and not slow down USB SuperSpeed devices. (This was probably a bigger deal for the jump between USB 1.x and 2.0)
    The passive filter components present in the mouse should dominate. Still, rise and fall times could be a few nanoseconds faster.

  • The registers of the EHCI controller also are implemented on the same die as the USB 3.0 UHCI logic, so the clock rate and digital performance will be higher.

  • Of these effects, the PCIe differences have the greatest impact on performance, especially compared to a USB 2.0 host controller connected via a PCIe-PCI bridge.

In summary, a USB 3.0 host controller with a full-speed or high-speed USB 2.0 device is not the same circuit as the same device attached to a USB 2.0 host controller, and the timing will not be identical.

However, any latency improvement will be at most a couple microseconds. I suppose it's possible that with some probability this would cause the mouse input to be relayed to the server in time to be processed one frame earlier; the probability is extremely low (well under 1%), and anyone claiming it affects their game performance is confused.

In particular, the effects of network congestion are several orders of magnitude larger. Anyone trying to give themselves every technical advantage in the competition should focus their efforts there. QoS markings probably do determine the outcome of games at the highest levels of play. Choice of service provider almost certainly does.

14
  • 2
    This is wishful thinking, a mouse uses a fixed polling rate. The speed an individual bit takes to get from a to b does not change that rate whatsoever.
    – JamesRyan
    Commented Jul 20, 2014 at 22:34
  • 7
    @JamesRyan: There's no wishful thinking here. Rate and latency are different. The delay until the next transmission timeslot is a USB buffering delay, it gets added to transmission delay itself along with buffering delays for the rest of the path to the CPU, to the NIC, and ultimately to the server. And my answer already clearly states that the delay improvements from using a USB 3.0 controller are very small
    – Ben Voigt
    Commented Jul 20, 2014 at 23:06
  • 3
    @otus: While it is true that on-chip communication links can run quite a bit faster than board-level links such as PCIe and PCI, in practice the USB 2 controller inside the chipset is still connected via ordinary old PCI (not PCIe), at ordinary PCI speeds, with a PCI-PCIe bridge. Despite the USB 3 controller being at a greater physical distance, it's connected via PCIe, usually with no bridge, and has lower latency.
    – Ben Voigt
    Commented Jul 21, 2014 at 14:43
  • 1
    @James: False analogy. It's closer to a horse race. The starting gate doesn't open very often, but when it does, the faster horse on a shorter track definitely reaches the finish line earlier. Now, imagine that horses start arriving immediately after the previous race. Most of their wait time will be behind the starting gate... but the fastest one still reaches the finish line earlier, even if not by a large proportion of the total waiting time.
    – Ben Voigt
    Commented Jul 21, 2014 at 14:46
  • 1
    @JamesRyan: That's just not true. USB isochronous transfer takes place on a set clock. Everything that follows the interrupt (DMA transfer from the USB controller buffer, processing in the CPU, and transfer to the network) are not synchronized to the USB polling clock. HID doesn't use isochronous transfers, it uses polled interrupt transfers which originate on the host, so actually the delays in both direction come after synchronization to the polling rate.
    – Ben Voigt
    Commented Jul 21, 2014 at 14:59
19

We need to take a look at the mouse's polling rate and from that we can have a better idea of how much data is being transmitted. If a mouse has a 100hz polling rate, it is sending data to the computer 100 times a second.

A standard mouse will send a 3 byte packet containing info on X/Y position information as well as button information. Considering that 3 bytes are transferred each cycle of the polling rate, you could have 300bps being transferred.

By default, the USB polling rate is 125hz, so by our logic, data being transmitted is 375 bytes per second.

Based on this, I don't think USB 3 is going to be any more beneficial than USB 2 or even 1.

2
  • 4
    It should be noted you can change the USB polling rate. High-end mice run in the 500-1000hz range (2 or 1 millisecond response rates, verse 8 millisecond at 125hz). Commented Jul 16, 2014 at 13:30
  • 18
    @philipthegreat a 1kHz polling rate is still four times faster than the refresh period of even the best screens I know, sixteen times faster than FPS of most games on a good PC, and 100 times the frame rate at which the human eye is able to detect discontinuity in motion. And you're still transferring at only 0.5% the USB 1.0 low-speed bandwidth. Commented Jul 16, 2014 at 16:37
4

Technically there are some cases where it would make a difference. Generally speaking even when this difference exists, it won't be noticeable to even a professional player.

USB 3.0 and USB 2.0 controllers on modern motherboards are implemented differently, primarily due to the data throughput USB 3.0 requires. In some chipsets you'd find the USB 2.0 appear as essentially PCI device on a supercommunications hub that also handles all the other slow devices, like hard drives, audio, ethernet, parallel and serial ports, etc. This existed in the southbridge chip, which was then connected to the northbridge through a media layer similar to a PCIexpress bus. The northbridge handled the high speed stuff, such as memory, graphics, PCIexpress etc.

This meant that a USB transaction involved several other transactions - PCI, then the media interface, then the interface to the CPU, before it was handled.

USB 3.0 was introduced at the same time that the northbridge/southbridge gave way to the PCH(Platform Controller Hub). Most of the northbridge duties were absorbed into the CPU itself - memory, PCIexpress, etc, while the remaining northbridge duties and southbridge duties went to the PCH. The PCH is essentially running off a PCI express slot.

The paths, however, are still very different. Even though USB 3.0 and USB 2.0 are integrated into the PCH, the USB 2.0 is still implemented as though it's a slow PCI controller device. There's no reason for Intel to redesign the silicon of a proven part, so it's integrated into the PCH the same way it was integrated into the southbridge, with all the attendant bottlenecks and additional latency that it had before.

However, the USB 3.0 is much closer to the CPU. While this is meant primarily to account for the increased throughput, it also affects latency - there are fewer transactions involved in getting a USB 3.0 transaction to memory, or to the CPU, and the interrupts may be triggered more quickly.

However the difference between USB 2.0 latency and USB 3.0 latency would be measured in nanoseconds. Certainly not noticeable by even the best twitch gamers today. It exists, but it's practically useless.

1
  • 2
    Probably not even measurable by objective timings as latency differences are several orders of magnitude lower than e.g. device polling intervals, kernel scheduler time slices, UI event queue processing times, etc. The OP's friend is simply defensively looking for something to blame his unfortunate loss on.
    – Jason C
    Commented Jul 17, 2014 at 19:35
2

While I do not believe that on most conventional mouse models you would get any advantage whatsoever, you are likely trying to determine that even if there was any difference, it would have to be noticable by the user?

In that case, it is simple enough to test the case in a mouse-performance demanding game or application, by plugging it into both ports. I have tried this myself, and found no difference that I could notice, which was sufficient for me (test results beat theory for personal use scenarios, as in some cases even a psychological difference could help you perform better - in which case it would still be better for you).

1

Mouse is a so slow device in terms of data transfer that USB speed limit is not a limiting factor.

Communication latency also should not be a factor, a properly built (any generation) USB device should respond far faster than human reflex speed, so you should not experience any lag due the technology of the port.

Of course there are many other factor if you experience mouse lag: system may be busy, driver may be not working as intended, software can be stuck waiting for other events (most of times, it is a network-related event problem), mouse itself can be broke, and finally the port hardware may be faulty - so trying another mouse/port is a good start.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .