DPC latency

The main reason for this post is to share a solution to a problem that others out there may be experiencing also.

Recently, I started to get audio crackles and pops when using certain programs. I couldn't figure it out, and it was starting to drive me crazy.  Initially, I thought it might be related to IRQ conflicts, as I had an EVGA GTX 770 video card sharing the same IRQ as one of my RME Multiface units and an Intel controller on the motherboard. Upon further research, I realised that hasn't really been a thing since Windows XP, so time to turn my attention elsehwere.  Further down the rabbit hole, I find out about DPC timing and latency issues.  I grabbed a bunch of programs, but the main one I used was DPCLat, as this shows a regular interval of spikes in timing.  Another program I should mention was LatencyMon, which lists the offending drivers causing the issues.

So it turned out I was barking up the right tree with the IRQ conflict, when it turned out that the Nvidia drivers for the video card were causing DPC spikes around 1000-1500 micro seconds at every interval recorded.  I removed the driver in device manager and chose the Microsoft display adapter just to test the issue.  DPC timing when down to a steady 9 micro seconds!  I opened up Renoise and tested out something I'd been working on that had produced these audio crackles and artifacts, and was overjoyed when I couldn't reproduce them, but the DPC was still higher than it should be.  Turns out disabling the network adapter solved this issue and everything was running smoothly. Problem now was that I could only run one screen at a time using the Microsoft driver. Time to fix that issue by putting the previous video card I was using before the Nvidia.

Originally, I was using an old Radeon HD 6750 in this new machine, as all I needed was something that could run two DVI monitors and a third via an active display port adapter.  I didn't need anything too powerful since this machine was solely going to be used for music. I got the audio issues when I had the Radeon HD 6750 installed, which led me to swap it out for the GTX 770 I'd just replaced in my net/gaming machine with a lovely new GTX 1080 (woo!).  I uninstalled all the AMD drivers before I installed the GTX 770 and then uninstalled all the Nvidia drivers before going back to this.  Upon restart, Windows 10 picked up all three monitors and booted into the OS with no display issues, which I thought was strange, as usualy you'd have to go and set it all up again with downloading drivers.  I checked device manager and under display adapter, it said AMD Radeon HD 6750.  So I'm guessing that either Windows didn't uninstall EVERYTHING when running the AMD uninstaller program, or it rolled back to a driver that had been used previously. So now, none of the Catalyst Control Centre software or any of the other stuff that comes with the AMD driver installer is on the machine and I'm having no more issues, so I can only think that something that got installed with that package was causing the issue in the first place. It's also worth noting that now this is all working, there's nothing sharing an IRQ with either of the RME Multiface's installed on the machine, via their PCI cards. 

Anyway, I'm not touching any of the drivers or updating them from here on out!  Hope this helped anyone who's been scratching their heads over something similar.

3 comments:

rojo said...

Good info and great mix. Thanks

Gozu said...

Nvidia drivers have been causing lots of DPC issues in 10. :'(

If you ever get bold enough to upgrade your drivers again make sure you run Display Driver Uninstaller first :D
Thanks for sharing the info!

ASC said...

@Gozu - fuck that! I'm not gonna touch anything on it ever again haha

Post a Comment