[Solved] usbport.sys dpc latency issues

OG buckshot jr

TD Admin
Possible work around - purchase a PCIe internal USB 3.0 card and completely disable USB 2.0 on my motherboard. But what drivers would I use for the card? Not sure if this would work.
I have three cards; 2 pci-e (one USB 3.0 one USB 2.0) and one pci (USB 2.0) of various makes. They're all third party drivers so hopefully might alleviate your issue?

I know my Asus has had issues with USB ports but I fixed with bios update..
 

everyth1ng

DARKLY Regular
I have three cards; 2 pci-e (one USB 3.0 one USB 2.0) and one pci (USB 2.0) of various makes. They're all third party drivers so hopefully might alleviate your issue?

I know my Asus has had issues with USB ports but I fixed with bios update..
I mean, I guess I could try reverting the BIOS to F12 from F13, but that might cause other problems.

Gigabyte dropped support for my board long ago. I'm not even sure how I'm running Windows 10 at all, and with only one driver related issue, too! I even have all of my USB devices on separate IRQs now. I don't know what else to try at this point.

How much would you want for the USB 3.0 card, if I decide to go down that route? Do the drivers come on a CD, and how old is the card?
 
Last edited:

OG buckshot jr

TD Admin
I mean, I guess I could try reverting the BIOS to F12 from F13, but that might cause other problems.

Gigabyte dropped support for my board long ago. I'm not even sure how I'm running Windows 10 at all, and with only one driver related issue, too! I even have all of my USB devices on separate IRQs now. I don't know what else to try at this point.

How much would you want for the USB 3.0 card, if I decide to go down that route? Do the drivers come on a CD, and how old is the card?
Oh I'm not selling it, I use them all (believe it or not lol). $15-20 at canadacomputers or elsewhere. Totally worth it!

Mine are a combo of 2-7 years old. Drivers are on cd's but I download and use the latest from their sites.

Buy one for like $15 and test it out!
 

everyth1ng

DARKLY Regular
Oh I'm not selling it, I use them all (believe it or not lol). $15-20 at canadacomputers or elsewhere. Totally worth it!

Mine are a combo of 2-7 years old. Drivers are on cd's but I download and use the latest from their sites.

Buy one for like $15 and test it out!
My bad. Yeah, I'm going to get one ASAP. I'll report back when I've tried it.
 

up-n-atom

DARKLY Regular
Before purchasing anything, get any spare drive, install Windows 7 and do your routine of checks to see if the behaviour was present before you installed Windows 10. Also be careful with what you're doing with the interrupts as you may inadvertently cause more latency.

EDIT:

Not sure if you've tried: Launch Device Manager, right click USB Root Hub > Properties > Power Management Tab > unchecked "Allow the computer to turn off this device to save power"
 
Last edited:

everyth1ng

DARKLY Regular
Before purchasing anything, get any spare drive, install Windows 7 and do your routine of checks to see if the behaviour was present before you installed Windows 10. Also be careful with what you're doing with the interrupts as you may inadvertently cause more latency.

EDIT:

Not sure if you've tried: Launch Device Manager, right click USB Root Hub > Properties > Power Management Tab > unchecked "Allow the computer to turn off this device to save power"
I actually don't have a spare drive, to be honest. Otherwise, this is definitely something that I would do.

Regarding the IRQs, I basically just moved my USB devices around so that they don't conflict with anything else. It turns out, for example, that one of my USB controllers shares a line with my sound card, so I disabled that controller. Of course, no difference in latency or sound quality. I still have audio crackling at high volume.

And yes, I've had that option in the properties of USB Root Hub unchecked for a couple of weeks now. I went through all of them to make sure that they were all unchecked.

I purchased a PCIe to USB 3.1 card online today, and it should arrive early next week. I'm not sure if my motherboard will post with it. If it doesn't, I'll go to Canada Computers and get something older.
 
Last edited:

up-n-atom

DARKLY Regular
What about reverting back to a periodic timer since Windows 8 introduced tickless.

bcdedit /set disabledynamictick yes
 
Last edited:

everyth1ng

DARKLY Regular
What about reverting back to a periodic timer since Windows 8 introduced tickless.

bcdedit /set disabledynamictick yes
Good idea, but it had no effect on usbport.sys.

EDIT: Just so everyone is on the same page, I'm going to leave bcdedit /set disabledynamictick yes just like that for now, and I've also enabled HPET in BIOS again, but this time in 64-bit. I've been reading that HPET is only used when needed for certain applications and is not the default timer even when enabled. In LatencyMon, I see no difference between HPET disabled and HPET 64-bit enabled. Subjectively, in terms of 'feel', CSGO feels the same either way. Of course, the usbport.sys issue remains...
 
Last edited:

up-n-atom

DARKLY Regular
Good idea, but it had no effect on usbport.sys.

EDIT: Just so everyone is on the same page, I'm going to leave bcdedit /set disabledynamictick yes just like that for now, and I've also enabled HPET in BIOS again, but this time in 64-bit. I've been reading that HPET is only used when needed for certain applications and is not the default timer even when enabled. In LatencyMon, I see no difference between HPET disabled and HPET 64-bit enabled. Subjectively, in terms of 'feel', CSGO feels the same either way. Of course, the usbport.sys issue remains...

It was doubtful it would've helped since it's more or less a power feature for an idle CPU. Since you've enabled HPET, what about forcing it on Windows? It could help with audio...

bcdedit /set useplatformclock yes

also try

bcdedit /set tscsyncpolicy Enhanced

to revert those

bcdedit /deletevalue useplatformclock
bcdedit /deletevalue tscsyncpolicy

All the options are explained at https://msdn.microsoft.com/en-us/library/windows/hardware/ff542202(v=vs.85).aspx
 
Last edited:

everyth1ng

DARKLY Regular
Just a quick update. Long story short - the PCIe to USB card arrived at my place today. I installed it, updated the drivers from the website, and disabled the USB controllers on my motherboard. I can now confirm that this is one way to resolve the usbport.sys issue (or it's a good work around, if not resolved). I currently have no drivers showing high ISR count.

This is the card I bought: https://www.asus.com/Motherboard-Accessories/USB_31_TYPEA_CARD/

I'll be back later with a more detailed post.
 

OG buckshot jr

TD Admin
Just a quick update. Long story short - the PCIe to USB card arrived at my place today. I installed it, updated the drivers from the website, and disabled the USB controllers on my motherboard. I can now confirm that this is one way to resolve the usbport.sys issue (or it's a good work around, if not resolved). I currently have no drivers showing high ISR count.

This is the card I bought: https://www.asus.com/Motherboard-Accessories/USB_31_TYPEA_CARD/

I'll be back later with a more detailed post.
I hate to say it, but we might chalk this up to your mobo's BIOS not being WIN10 ready...
 

everyth1ng

DARKLY Regular
I promised I'd be back, so here are some pics of LatencyMon with everything (seemingly) sorted out:
LatencyMon%201%20min%20page%201%20TEST%203%20FINAL_zpszwhzkof2.jpg

LatencyMon%201%20min%20page%202%20TEST%203%20FINAL_zpsmadsj8zx.jpg

In order to reduce the hard pagefaults I was getting before, I ended up having to replace Windows Defender. Avira seems to be working really well for me so far.

I also replaced my SteelSeries Apex keyboard with a CM Storm Quick Fire Rapid mechanical keyboard, and I'm running it in PS/2 mode to free up USB ports. It's my first mechanical keyboard, and it's fucking awesome. I got the Cherry MX Red switch version. Love it.

However, I'm not able to run the USB card I bought in USB 3.1 or 2.0. I was kind of expecting that 3.1 wouldn't work with this motherboard, as Asus even states that the card needs to be used with certain Asus motherboards for full compatibility, but I thought that at least 2.0 would work. Nope. The only way the card works is if it's run in USB 1.1, and that's what my motherboard USB controllers were running in. The bottom line is that CSGO still feels like shit. I'm going to get a cheap USB 2.0 card to see if that improves things. Perhaps higher polling rates are more stable with USB 2.0? I don't know, but it's worth a shot.

I'm out of ideas as to what to do about how CSGO feels. Input lag seems to come and go, and it's mystifying.

EDIT: Mouse Rate Checker indicates that 1000 Hz is stable. I'm currently experimenting with some CSGO settings. I was using raw input 0 because I read that its implementation in CSGO is off (apparently, a slight delay is produced somewhere along the line when using it), but I turned it back on. I also put -useforcedmparms -noforcedmaccel -noforcedmspd in my launch options. I'm not sure if these still work. I was under the impression that they don't, but I'm trying them anyway. With both of these changes, mouse movement seems to have improved. It feels smoother and more consistent, although I can't say for sure yet. It could just be placebo. I'll continue to play around with these settings and see how things go.
 
Last edited:

OG buckshot jr

TD Admin
I promised I'd be back, so here are some pics of LatencyMon with everything (seemingly) sorted out:


In order to reduce the hard pagefaults I was getting before, I ended up having to replace Windows Defender. Avira seems to be working really well for me so far.

I also replaced my SteelSeries Apex keyboard with a CM Storm Quick Fire Rapid mechanical keyboard, and I'm running it in PS/2 mode to free up USB ports. It's my first mechanical keyboard, and it's fucking awesome. I got the Cherry MX Red switch version. Love it.

However, I'm not able to run the USB card I bought in USB 3.1 or 2.0. I was kind of expecting that 3.1 wouldn't work with this motherboard, as Asus even states that the card needs to be used with certain Asus motherboards for full compatibility, but I thought that at least 2.0 would work. Nope. The only way the card works is if it's run in USB 1.1, and that's what my motherboard USB controllers were running in. The bottom line is that CSGO still feels like shit. I'm going to get a cheap USB 2.0 card to see if that improves things. Perhaps higher polling rates are more stable with USB 2.0? I don't know, but it's worth a shot.

I'm out of ideas as to what to do about how CSGO feels. Input lag seems to come and go, and it's mystifying.

EDIT: Mouse Rate Checker indicates that 1000 Hz is stable. I'm currently experimenting with some CSGO settings. I was using raw input 0 because I read that its implementation in CSGO is off (apparently, a slight delay is produced somewhere along the line when using it), but I turned it back on. I also put -useforcedmparms -noforcedmaccel -noforcedmspd in my launch options. I'm not sure if these still work. I was under the impression that they don't, but I'm trying them anyway. With both of these changes, mouse movement seems to have improved. It feels smoother and more consistent, although I can't say for sure yet. It could just be placebo. I'll continue to play around with these settings and see how things go.

Yep, USB 1.1 lacks bandwidth, USB 2.0 will suffice.

As for csgo, I use those same launch options along with raw and it feels good. Go recoil is still laughable cartoon tf2 shit, but at least your mouse will feel good.
 

everyth1ng

DARKLY Regular
Yep, USB 1.1 lacks bandwidth, USB 2.0 will suffice.

As for csgo, I use those same launch options along with raw and it feels good. Go recoil is still laughable cartoon tf2 shit, but at least your mouse will feel good.
Yeah, raw input definitely feels better overall. I'm assuming that this is because the Windows step is eliminated - reduced workload for the CPU and more accurate translation of mouse polling? I honestly don't have a firm understanding of how mouse polling works.

I suspect what's happening regarding the polling rate is that it becomes unstable when I run CPU intensive games like CSGO, and I'm sincerely hoping that the higher bandwidth of USB 2.0 will alleviate this problem. 1000 Hz polling rate is definitely stable when I'm idle using USB 1.1, but I have no way of measuring polling rate when in game.

I notice input lag the most in the following scenarios:
- Any time the player count exceeds 10 players (Community servers like TD, Valve 20 player servers when filled, etc.)
- Third party clients like ESEA
- Streaming on Twitch with OBS

When I stream on Twitch with OBS, playing in either TD or on ESEA, I get a ton of input lag. If a more stable 1000 Hz polling rate will fix this, I'm going to be so happy. I constantly feel like I'm fighting against my mouse, and it's incredibly frustrating.
 
Last edited:

OG buckshot jr

TD Admin
Yeah, raw input definitely feels better overall. I'm assuming that this is because the Windows step is eliminated - reduced workload for the CPU and more accurate translation of mouse polling? I honestly don't have a firm understanding of how mouse polling works.
No, it actually cuts CS:GO 'smoothing' the mouse movements out. It's basically like in-game polling and averaging, from what I've read and understood.. If you do the 'Remove Windows Mouse Accel' trick (no clue if this is relevant for your OS, but it is for my Win7) and use raw mouse in GO, you'll be all natural..

I suspect what's happening regarding the polling rate is that it becomes unstable when I run CPU intensive games like CSGO, and I'm sincerely hoping that the higher bandwidth of USB 2.0 will alleviate this problem. 1000 Hz polling rate is definitely stable when I'm idle using USB 1.1, but I have no way of measuring polling rate when in game.
It's got nothing to do with CPU-intensive games; more so do with the fact that your mouse is constantly being used, polled and you're playing a game where you'll notice it (as opposed to just browsing the web - you won't notice your cursor glitch to a button on a web-page or something).. Your motherboard's north bridge is responsible for driving your USB ports; it is its own microprocessor, essentially. The bandwidth on USB1.1 is just not enough. Hope 2.0 will do your trick!
 

everyth1ng

DARKLY Regular
No, it actually cuts CS:GO 'smoothing' the mouse movements out. It's basically like in-game polling and averaging, from what I've read and understood.. If you do the 'Remove Windows Mouse Accel' trick (no clue if this is relevant for your OS, but it is for my Win7) and use raw mouse in GO, you'll be all natural..

Okay, good to know. I guess I'll see how I do with USB 2.0. I wish that I could objectively measure average polling rate between 1.1 and 2.0 in game, as going on feel isn't going to be as convincing to other people reading this thread who are dealing with similar issues.
 
Last edited:

OG buckshot jr

TD Admin
Okay, good to know. I guess I'll see how I do with USB 2.0. I wish that I could objectively measure average polling rate between 1.1 and 2.0 in game, as going on feel isn't going to be as convincing to other people reading this thread who are dealing with similar issues.
I'll be forward in saying that it really doesn't matter. I purposely poll at 500mhz because at 1000mhz it's way too shaky. I mean, 1000 times per second, even surgeons would see mouse shaking.. I personally think that high a polling rate is nothing short of a gimmick (yes, my Sensai Raw does 1000mhz too, but not why I bought it).

I found smooth movement at 500mhz, and 410dpi, or was it 800.. I'll check now.
 

everyth1ng

DARKLY Regular
I'll be forward in saying that it really doesn't matter. I purposely poll at 500mhz because at 1000mhz it's way too shaky. I mean, 1000 times per second, even surgeons would see mouse shaking.. I personally think that high a polling rate is nothing short of a gimmick (yes, my Sensai Raw does 1000mhz too, but not why I bought it).

I found smooth movement at 500mhz, and 410dpi, or was it 800.. I'll check now.
Yeah, I'm not going to try to argue 1000Hz over 500Hz. I question the usefulness of 1000Hz myself. However, I do think that I see the difference between the two when I pan with my mouse around as smoothly as I can. 1000Hz seems to be less jerky when I'm doing this (in an ideal scenario when it's stable), but I'm not really sure. I think it's easier to see with a 144Hz monitor. However, lots of great CSGO players still use 500Hz.
 
Top