26

We know that USB v1 - v2 -v3 has different features and signal/transfer speed, I understand that storage devices will most likely benefit from the speed feature, but does the speed affect input devices such as mouse, keyboard and game controller?

I found an old USB hub adapter/splitter which currently I dont know what USB version, I assume it's v1+ and I doubt if it's v2.0. If I plug it to laptop and plug my input devices to the splitter is there any noticeable speed difference (like input delay, etc)?

  • 2
    I think the key difference will be in data transfers (EG USB harddrives) rather than input devices. I'd write an answer but I think someone else would have the free time necessary to fully develop an in-depth answer. – SSight3 Nov 20 at 20:11
  • before PS/2 mice became popular, the serial port was used for pointing devices and that's far slower than USB 1.1, yet no one complained about responsiveness – phuclv Nov 21 at 15:33
  • 1
    @phuclv, To be fair, there were no games fast enough to cause anyone to worry about input lag. – JPhi1618 Nov 21 at 18:44
  • @JPhi1618 correct, but even if the games were much faster, people won't notice the difference between 100Hz and 200Hz – phuclv Nov 22 at 1:42
  • I have never seen a USB3 mouse or keyboard. It's important to be aware that while USB3 is backwards compatible, you are not getting any speed benefit by connecting non USB3 device in it. – Tomáš Zato - Reinstate Monica Nov 22 at 11:07
24

If you don't notice a difference, it might not really matter. You can test your input delay by plugging in the mouse directly and measuring the polling rate, then measuring again through the hub.

Look for the download link that says "Direct Input mouse rate tool" here: https://blog.codinghorror.com/mouse-dpi-and-usb-polling-rate/

There are many tools that measure polling rate, here is a webpage that claims to do it. https://zowie.benq.com/ja/support/mouse-rate-checker.html

Most consumer mice are 125hz which is at most a 8ms delay. Gaming mice might go up to 1000hz which would be 1ms response time. I think at least USB 2.0 is required for 1000hz. 7ms is not much of a difference.

The actual time it takes for a signal to travel from the mouse through the hub and to the computer is likely less than 0.1ms. I think the most significant factor is the polling rate, or the hardware in the mouse. Some monitors have an input lag of more than 10ms. If you are gaming, a graphics card can take anywhere from 5ms to 100ms to display a frame, depending on things like vsync buffers and render time.

  • 1
    The page is actually a nice find. I tried it on my boring NGS mouse at work, and it gave me 124-125hz, so, should be good. – Ismael Miguel Nov 20 at 11:55
  • As an interesting aside, the integrated touch pad on my laptop has a polling rate of ~124Hz according to that tool, whereas my Bluetooth touch pad is reported at ~88Hz. – Abion47 Nov 20 at 21:24
  • 1
    I highly doubt that my graphics card takes 100ms to render a scene. Think about it: It would mean a constant 0.1 second delay for everything. Out goes my fancy 144Hz monitor. It's more like 7ms for a 144Hz monitor and 16ms for a 60Hz monitor (assuming maximum rendering time between frames). On a 100ms delay, it means a 144Hz monitor would refresh around 14 times before it would react to my input. – MechMK1 Nov 22 at 11:14
  • 1
    @JeremiahBarrar I don't deem 144 fps to be particularly high. Usually I have around 200fps on most demanding games. However, 100ms rendering time would imply something around 10fps, which I would deem...not modern. Even for a 30fps monitor the graphics card has around 33 ms time to render the image. – MechMK1 Nov 22 at 12:35
  • 1
    Delay is a measure of latency, not throughput. It can take 100ms from the time your mouse produces a click signal until the corresponding change is visible on your monitor even with a very high frame rate. Of course, the response delay can't be less than the frame render time, but it can definitely be more. It takes time for the signal to reach the USB controller, time for the controller to send an interrupt, time for the driver to read the change from memory, time for the event to propagate from the windowing system to the program, time for the program to act on the event, ... – kbolino Nov 22 at 23:47
6

I expect the cost to be minimal. USB 1.1 was fairly widely popular, and wasn't considered slow for such devices. (It was just too slow for certain other types of devices.)

In many cases, all you need to worry about is the slowest link in the chain, also known as the bottleneck. It doesn't matter how fast other pieces of the communication can happen if there is one point which slows things down. If the mouse cursor feels instantly responsive and so the slowest point of the communication is the perception of the person interacting with technology that moves at the speed of computer circuitry, then there's no problem.

Keyboards really don't need tons of bandwidth. Even the few people who can type over 100 words per minute (like me) are probably only utilizing a bit more than 600 bytes per minute so any version of USB can handle that with ease. Gamepads that are similarly old will easily be satisfied with such old technology. (I'm not quite so sure about some of the newest gamepads, like ones that might also be compatible with modern video game consoles.) As for the mouse, you're likely fine but I could believe mouse movement might occasionally lag enough to be noticeable for some people. Certainly it would be within the realm of being quite tolerable for most people, but some people might be slightly annoyed.

The bigger impact may actually be how responsive other devices are, such as USB drives or networking devices that may benefit more from increased availability.

An example of where that isn't the case is 802.11, also known as wireless. If you have an 802.11ac device which is backwards compatible with 802.11n and 802.11g and 802.11b and perhaps 802.11a (the slowest of which is 802.11b), that 802.11b support actually really harms 802.11ac, even if it isn't being used much. The reason is that when the wireless access point does a routine 802.11b check, that requires that the equipment is unavailable for the amount of time it takes to communicate an 802.11b frame. And 802.11b frame takes a lot longer than an faster frame like an 802.11ac frame, so you could fit multiple 802.11ac communications in the time it takes for an 802.11b frame.

(That is a more extreme example. Similarly, and 802.11g frame would be faster than 802.11b but slower than 802.11n, and an 802.11n frame would be faster than 802.11g but slower than 802.11ac)

So, simply by plugging a USB 1.1 hub in, you might require more bandwidth/processing than some newer technology, using up more time with some motherboard resources. Perhaps the biggest impact would be upon other devices that could be using similar resources on the motherboard, and the most likely culprit may be other USB devices. It might place some circuitry into a slower-but-more-compatible mode, which might have side effects like slowing down transfer speed of a USB drive.

Related question: Why does Windows 10 assign different port numbers to the same USB port when plugging in 3.0 vs. 2.0 device? (grawity's answer shows that different USB controller circuitry gets involved for supporting older devices. In my opinion, what I think is likely is that using such older circuitry is not likely to be "more efficient because it distributes the load between multiple controllers". Rather, it is more likely that older communications standards will just slow things down overall, for reasons similar to the Wi-Fi example I described earlier.)

4

The additional delay from a USB hub is of order of tens of microseconds for low-speed hubs and under one microsecond for high speed hubs. Humans don't notice delays less than 100 milliseconds, and in fact many computer screens have a latency as long as 70 ms, which is about 1000 times longer.

So no, a 0.1% increase in total lag because of the USB hub will not matter in practice.

  • 5
    "100 milliseconds"? 0.1 s? This is very much noticeable. Maybe "microseconds"? But then it sounds quite optimistic. Either way, that depends on the sense; I guess we can hear 0.1 ms delay, but hardly see it. – Zeus Nov 21 at 1:18
  • @Zeus 70 ms is a delay you already have on a typical LCD screen. If you notice it, you must be using CRT or OLED displays, but most people don't. With an additional low-speed USB hub, it will become 70.05 ms. – Dmitry Grigoryev Nov 21 at 5:52
  • 5
    Well, your statement was very general: "Humans don't notice delays less than 100 milliseconds". This by itself is obviously not true, for everyone. Every human will notice 0.1 s delay between a cause and effect, e.g. a flash and sound, or pressing a button and hearing the click. It may not matter (it is generally accepted that delays up to 200 ms are acceptable in GUIs), but humans detect even shorter delays with ease. – Zeus Nov 21 at 6:10
  • 4
    I'm pretty sure LCDs had 16 ms reaction time some 15 years ago. 100 ms human reaction time doesn't sound convincing too. I think it's you who should provide proof for your claims. – gronostaj Nov 21 at 7:55
  • 1
    @gronostaj 16ms reaction time corresponds to refresh rate 60Hz and is simply delay between frames. Overall delay (from GPU to screen) is often longer - in addition to some signal delays LCD monitors may buffer 2-3 frames to allow calculate pixel overdrive compensation and other parameters. For action gaming this can be problem; monitors with higher refresh rate help. – Arvo Nov 21 at 8:11
1

Difference in speed? Yes Noticeable difference? Probably not.

The "polling rate" of the mouse measures how many times per second (in Hz) the mouse reports its relative position to "the computer". A higher rate means it reports more frequently. Most mice these days are around 250 Hz, older mice are usually 125 Hz. Is the human eye be able to register the difference between a rate of 125 "movements" per second vs 250 per second? Probably not.

Some gaming mice are (or at least advertise to be) 1000+ Hz per second. Keep in mind that the higher, the Hz, the more CPU "power" is required to register the signal from the mouse.

DPI or dots per inch, is how far your mouse moves across the screen with each movement of the mouse. These are usually options on the mouse (gaming mice typically have a button you can push to change the DPI and maybe the color so you know your current DPI). DPI is important if you have a high resolution monitor (4k) where pixels are so small that moving across 100 of them is a much shorter distance than a low resolution monitor. On lower resolution a high DPI can actually work against the user as one small movement of the mouse can send the cursor flying.

Keyboards have a few different measurements for speed, but the difference is so negligible that these speeds are rarely even reported in technical specifications. Like mice, they have a polling rate, but again, differences are almost always negligible and having a high polling rate keyboard will consume more CPU resources. Keyboards also have a matrix scanning time (1ms - 10ms typically), which is how long it takes for the keyboard to scan all the keys (hardware dependent). If a key is pressed, it "stores" the key in a temporary buffer. Then an algorithm (.5ms to 10ms) determines if the event was "real", and if so, releases it from the temporary buffer and "hands it off" to await being sent to "the computer" (when is determined by the polling rate).

Now, to actually answer your question, USB versions have a "minimum bus interval", which impacts the theoretical maximum polling rate a peripheral device can have. For example: USB 3.1 has a minimum bus interval of 125 μs, so the theoretical maximum polling rate is 8000Hz. Here's what I could find:

USB 1.1 and 2.0 - Low Speed

Max Polling Rate: 125 Hz

USB 2.0 - Full Speed

Max Polling Rate: 1000 Hz

USB 2.0 - High Speed, USB 3.0, and USB 3.1

Max Polling Rate: 8000 Hz

*Keep in mind, however, that there are other factors that can impact peripheral performance, such as your operating system, and device drivers.

  • This suggests that USB 1.1 is restricted to 125Hz, but anecdotally I have a gaming mouse running at a verified 1000Hz out of a USB 1.1 hub – Luke F Nov 21 at 19:51
  • @LukeF It is possible to increase the effective polling rate via software (some operating systems raise or lower max polling rate) or hardware. Also USB standards set minimums, not maximums. So theoretically a device manufacturer can exceed the standard while still being compliant. – Jake Nov 22 at 18:30
0

As to my knowledge there are some limitations on USB1 / 1.1 input devices (keyboards limiting simultaneous key-events to like 3 , mice limiting poll-speed like in above answers).

But I don't know if that was more a way of saving costs for the controller chips than an actual limit of the USB-Bus ... though for mice it seems reasonable to suspect bus speed being a factor.

  • That's a distinction between USB HID Boot Protocol and Report Protocol. Both protocols are available to USB 1.1 devices. – duskwuff Nov 22 at 0:04
0

Unless you are trying to recover an OS (operating system), shouldn't really matter.

We have a Lenovo box here at work that wasn't booting so I used a recovery CD and when it booted into the environment my mouse and keyboard were unresponsive.. I had to press keys to get into it so I know they worked before getting into the recovery OS screen.

Problem ended up being that the box had ONLY USB3, which I subsequently found out is incompatible in the winrecovery UI.

  • it's not that USB 3.0 isn't compatible with win PE, but some USB 3.0 controllers are special and their drivers aren't included by default. Just use some tools to include the driver to the installation/recovery disk, or load the driver upon starting win PE. There are tons of tutorials on how to do that – phuclv Nov 21 at 15:30
0

The one problem you should be aware of is that USB1 and USB2 protocols are converted using so-called "transaction translators". There are some cheap hubs that only have a single transaction translator. That means that if some USB1 device is transferring data, it will block the hub from accepting other USB1 connections even if the hub can communicate upstream with USB2 high speed. Which means that USB1 devices will compete for USB1 bandwidth instead of USB2 bandwidth. Worse: a low speed USB1 device will block a full speed USB1 device from transfering its data.

So you should check that you have multiple TTs before connecting multiple USB1 devices to a hub.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.