DPC latency issues
Avishkar Autar · Mar 25 2009 · Random
Last month the motherboard in my main desktop died. I replaced it with this board (GA-MA78G-DS3HP) from Gigabyte (I had some reservations, as the previous board was from Gigabyte as well, but the price and feature-set won me over). The installation went smoothly and I was surprised that Windows booted up (probably b/c of similarities due to both boards coming from the same manufacturer; fyi, I later discovered there is a way to install a new motherboard w/o a windows reinstall). I was pretty happy until I started hearing seemingly random stuttering in the audio. It was very short, but noticeable, especially in games.
I spend hours trying to figure this out. I was thinking it was the onboard sound, but it was Realtek audio, which I’ve never had issues with, and this new board has one of their best chipsets. I finally stumbled across some forum posts mentioning DPC latency and the DPC Latency Checker. I had no clue what DPC latency was, but it’s summed up nicely on DPC Latency Checker page,
If any kernel-mode device driver in your Windows system is implemented improperly and causes excessive latencies of Deferred Procedure Calls (DPCs) then probably drop-outs will occur when you use real-time audio or video streaming applications.
This is a wonderful utility, and, sure enough, after a few tests I noticed very long red bars, indicating I indeed had a DPC latency issue. Now, there are issues with older Gigabyte boards and DPC latency issues, discussed in this Anandtech thread, but the board I purchased was newer that those afflicted. What was also curious was how the issue was occurring. I was not getting steady red bars, but spikes, and after many hours of pulling my hair out, I finally realized that that the spikes were coming from the keyboard and they were fairly random in occurrence (although more prevalent within Direct3d or OpenGL games and apps).
Trying to think of solutions and trying to avoid a BIOS update, I tried a repair install of Windows; perhaps something went wrong b/c I was using a new motherboard w/o a clean installation. The repair install had no effect. I thought about doing a fresh install, but the amount of time for reinstallation of programs and drivers put me off the idea – this machine is my main development rig and I need it at 100% as much as possible.
It then occurred to me that maybe this was related to input in general, so why only the keyboard effected? I have a mouse and gamepad that didn’t cause any DPC latency spikes. I realized it was a PS/2 keyboard and all other input devices were on USB ports. Luckily I had a USB keyboard on my Mac that I could test with and, like magic, the latency spikes disappeared.
My long term solution? I don’t know. I’ll probably just get another USB keyboard. There’s a BIOS update available which I’ll probably try at a later date – BIOS updates scare me. It’s possible a fresh install of Windows may solve this as well, but I’m doubtful. I was surprised that the board got great reviews on Newegg and no one there or anywhere else on the web seems to have encountered similar issues with this board.