Page 1 of 1

Using an external USB PCIE card won't solve on some mobos

Posted: 13 Jul 2025, 19:25
by Vocaleyes
So i've just discovered that on some chipset architecture even an external USB card with it's own dedicated chip won't solve certain issues.
This is due to certain chipsets having shared DPC queues and non-deterministic USB interrupt routing, even across PCIe add-in cards.

This means even if the mouse is on an isolated USB host, activity from the keyboard on the motherboard USB may still inject latency spikes into the same DPC queue handling mouse movement.

That irregularity can cause microstutter (even if FPS is stable), result in slight drifting, missed frames, or inconsistent cursor velocity & be especially noticeable in fast swipes or slow pixel-precise movement.

Thought i'd share that info with you all.

Re: Using an external USB PCIE card won't solve on some mobos

Posted: 14 Jul 2025, 05:24
by Slender
do you try mcs9990 with usbport.sys driver?

Re: Using an external USB PCIE card won't solve on some mobos

Posted: 14 Jul 2025, 08:25
by kyube
Vocaleyes wrote:
13 Jul 2025, 19:25
So i've just discovered that on some chipset architecture even an external USB card with it's own dedicated chip won't solve certain issues.
What “issues”?
Vocaleyes wrote:
13 Jul 2025, 19:25
This is due to certain chipsets having shared DPC queues and non-deterministic USB interrupt routing, even across PCIe add-in cards.

This means even if the mouse is on an isolated USB host, activity from the keyboard on the motherboard USB may still inject latency spikes into the same DPC queue handling mouse movement.

That irregularity can cause microstutter (even if FPS is stable), result in slight drifting, missed frames, or inconsistent cursor velocity & be especially noticeable in fast swipes or slow pixel-precise movement.
You're free to provide a source for these claims or repeatable testing data based on ETW.

Re: Using an external USB PCIE card won't solve on some mobos

Posted: 14 Jul 2025, 16:20
by Vocaleyes
kyube wrote:
14 Jul 2025, 08:25
Vocaleyes wrote:
13 Jul 2025, 19:25
So i've just discovered that on some chipset architecture even an external USB card with it's own dedicated chip won't solve certain issues.
What “issues”?
Vocaleyes wrote:
13 Jul 2025, 19:25
This is due to certain chipsets having shared DPC queues and non-deterministic USB interrupt routing, even across PCIe add-in cards.

This means even if the mouse is on an isolated USB host, activity from the keyboard on the motherboard USB may still inject latency spikes into the same DPC queue handling mouse movement.

That irregularity can cause microstutter (even if FPS is stable), result in slight drifting, missed frames, or inconsistent cursor velocity & be especially noticeable in fast swipes or slow pixel-precise movement.
You're free to provide a source for these claims or repeatable testing data based on ETW.
Quite literally listed those "issues" in my initial post? you're free to read it again.

Anyway...

All HID devices (keyboard, mouse, etc.) use:

HIDCLASS.sys
HIDPARSE.sys
USBPORT.sys or USBXHCI.sys

Even if routed through separate USB controllers, these devices still go through shared kernel-mode stack layers, which may introduce:

Prioritization issues
DPC queue pressure
Delays in mouse input processing when keyboard input is active.


Observable with tools such as:

LatencyMon (High DPC from USBPORT.sys, HIDCLASS.sys, or Wdf01000.sys)
MouseTester (Irregular polling during keyboard input)
USB Tree Viewer (Shows controller separation but cannot diagnose DPC routing)

If there's anything else I can further help you understand, don't hesitate to ask.

People are more than capable to run the aforementioned tests themselves to check, but I personally have already posted and shared my DPC results, so if your next response is "do it again then", good luck with that. :lol:

Re: Using an external USB PCIE card won't solve on some mobos

Posted: 15 Jul 2025, 04:14
by kyube
Vocaleyes wrote:
14 Jul 2025, 16:20
Observable with tools such as:
LatencyMon (High DPC from USBPORT.sys, HIDCLASS.sys, or Wdf01000.sys)
MouseTester (Irregular polling during keyboard input)
USB Tree Viewer (Shows controller separation but cannot diagnose DPC routing)
Hope you know LatencyMon is completely useless in evaluating this.
MouseTester is also a toy, comparatively.
What you're looking for is Microsoft's Media eXperience Analyzer.
https://github.com/djdallmann/GamingPCS ... /README.md
https://learn.microsoft.com/en-us/windo ... experience
https://learn.microsoft.com/en-us/windo ... exercise-3
https://learn.microsoft.com/en-us/windo ... exercise-4

If you want something more digestible: https://github.com/valleyofdoom/xtw

Have fun digging.