How to Fix High DPC Latency for Gaming (LatencyMon Guide)
Published
On this page
High DPC latency is the invisible reason a fast PC still stutters. Your FPS counter reads fine, but you get micro-hitches, crackling audio, and input that feels a beat late — because a single driver is stalling a CPU core for milliseconds at a time. This guide shows you how to find the exact driver causing it with LatencyMon, then fix it.

DPC latency is a frame-time problem, not an average-FPS problem — the win is smoother 1% lows and more consistent input.
What DPC latency actually is
A Deferred Procedure Call is how a Windows driver defers lower-priority work so it can service urgent interrupts first. It’s normal and constant — every driver uses DPCs. The problem is when one driver runs its deferred work for too long and holds a CPU core hostage before returning it.
That stall is measured in microseconds (µs). A brief spike is harmless, but a driver that regularly spikes past 1000 µs will drop frames and delay input. On a well-behaved system your worst-case DPC time sits well under 500 µs.
Because the symptom is timing, not throughput, DPC latency hides behind a healthy FPS number. That’s what makes it so frustrating to diagnose — until you measure it.
Step 1: Measure with LatencyMon
Don’t guess. LatencyMon (free, from Resplendence) tells you both how bad your latency is and which driver is causing it.
- Download and install LatencyMon.
- Close background apps (browsers, Discord, RGB software) so the baseline is clean.
- Click the green play button and let it run for 5–10 minutes. For a realistic test, play a game in borderless windowed mode while it monitors.
- Read two tabs:
- Main — your highest measured DPC and interrupt-to-process latency. Red text means it’s high enough to cause dropped audio (and, by extension, game stutter).
- Drivers — sort by DPC count and highest execution time. The driver at the top is your suspect.
Write down the offending driver file. Common names and what they map to:
| Driver file | Belongs to |
|---|---|
ndis.sys / nwifi.sys | Network stack / Wi-Fi |
nvlddmkm.sys | NVIDIA GPU driver |
atikmdag.sys / amdkmdag.sys | AMD GPU driver |
storport.sys / storahci.sys | Storage controller |
usbport.sys / USBXHCI.sys | USB controllers |
wdf01000.sys | Kernel driver framework (often a proxy for another device) |
ntoskrnl.exe | Windows kernel — usually points at power management |
Step 2: Fix the most common culprit — network drivers
Network adapters are the number-one cause of DPC spikes, especially Killer and some Intel Wi-Fi drivers, plus any third-party “gaming network” software.
- Update the network driver from the vendor, not just Windows Update. Get the latest Intel/Realtek/Killer driver directly. If you’re on a Killer NIC, installing the plain Intel/Realtek base driver instead of the full Killer suite often kills the spikes outright.
- Disable Wi-Fi if you game on Ethernet. A wireless radio scanning for networks in the background is a classic recurring spike. Turn off the Wi-Fi adapter in Device Manager while you play.
- Turn off adapter power saving. In Device Manager → your network adapter → Properties → Power Management, uncheck Allow the computer to turn off this device to save power.
Re-run LatencyMon after each change. If ndis.sys drops out of the top spots, you’ve found it.
Step 3: GPU, storage, and USB drivers
If LatencyMon points at your GPU or a controller:
- GPU (
nvlddmkm.sys/amdkmdag.sys): do a clean driver reinstall with DDU — see How to Clean Install GPU Drivers with DDU. A corrupted or half-upgraded driver is a frequent DPC offender. - Storage / USB: update your motherboard chipset drivers from the board vendor. Unplug USB devices one at a time while LatencyMon runs to isolate a bad controller or a flaky peripheral. Cheap USB hubs and some capture cards spike hard.
- Audio: high-latency audio drivers (or a monitor’s audio-over-DisplayPort device you don’t use) can spike too. Disable audio outputs you never use in Sound settings.
Step 4: Power management and Windows settings
When LatencyMon blames ntoskrnl.exe, the cause is almost always CPU power management parking or ramping too aggressively.
- Set a High Performance power plan. Control Panel → Power Options → High Performance (or Ultimate Performance). See Best Power Plan for Gaming.
- Disable Fast Startup. It leaves drivers in a half-initialized hybrid state across boots, which can cause latency that a full restart clears. Control Panel → Power Options → Choose what the power buttons do → uncheck Turn on fast startup.
- Update your BIOS/chipset if you’re on an older version — see How to Update Your BIOS Safely. Firmware fixes routinely address DPC/interrupt behavior.
- Disable dynamic ticking as a last resort on desktops chasing the flattest possible frame times:
This is reversible withbcdedit /set disabledynamictick yesbcdedit /set disabledynamictick no. Test it — it doesn’t help every system.
Step 5: Re-test and lock in the win
The whole method is measure → change one thing → measure again:
- Note your baseline worst-case DPC time in LatencyMon.
- Apply one fix and reboot.
- Re-run LatencyMon for a few minutes, ideally with a game running.
- Keep the change only if the number drops. Revert anything that doesn’t move it.
Once your worst-case DPC time is comfortably under ~500 µs, in-game micro-stutter and audio crackle should be gone, and your 1% lows will read tighter on an FPS overlay.
Pair it with steady frame pacing
Fixing DPC latency removes the spikes; steady timer resolution keeps the frames that remain evenly paced. Fine timer resolution smooths frame delivery and shaves input latency — it’s the other half of a consistent, low-latency feel. See The Ultimate Guide to Timer Resolution for Gaming.
Related guides
- How to Minimize Input Delay for Competitive Gaming
- How to Clean Install GPU Drivers with DDU
- Best Power Plan for Gaming
- How to Fix Lag Spikes in Games
- The Ultimate Guide to Timer Resolution for Gaming
The honest summary: DPC latency is a driver problem, and LatencyMon hands you the culprit by name. Chase the top driver — usually network, then GPU, then power management — change one thing at a time, and re-measure. Get your worst-case under 500 µs and the stutter you couldn’t explain finally goes away.
Frequently asked questions
What is DPC latency?
DPC (Deferred Procedure Call) latency is how long a device driver makes the system wait before it hands the CPU back. Windows uses DPCs so drivers can defer lower-priority work, but a badly behaved driver can hog a CPU core for milliseconds at a time. When that happens during a game you get micro-stutter, audio crackle, and inconsistent input timing even though your average FPS looks fine.
How do I check my DPC latency?
Use LatencyMon, a free tool from Resplendence. Close background apps, click the play button, and let it run for a few minutes while you use the PC normally (or play a game windowed). It reports your highest measured DPC and interrupt times and, crucially, names the specific driver responsible. Anything consistently above ~1000 microseconds is worth chasing; under ~500 is healthy.
What causes high DPC latency?
The usual culprits are network drivers (especially Killer/Intel Wi-Fi and some Ethernet drivers), GPU drivers, storage controllers, USB controllers, and aggressive CPU power management. Wireless adapters scanning for networks and third-party 'gaming' network software are common offenders. LatencyMon points at the driver file (like ndis.sys or nvlddmkm.sys) so you can target the fix instead of guessing.
Does high DPC latency cause stutter and input lag?
Yes. A DPC spike stalls the CPU for a few milliseconds, which shows up as a dropped frame or a hitch and delays when your mouse and keyboard input is processed. It's a frame-time consistency problem, not an average-FPS problem — your counter can read 240 FPS while individual frames arrive late. That's why fixing DPC latency smooths 1% lows and makes aim feel more connected.
Is it safe to fix DPC latency?
Yes — every fix here is reversible. Updating or rolling back a driver, disabling a power-saving setting, or turning off Fast Startup changes software policy, not hardware. Make one change at a time and re-test with LatencyMon so you know which one actually helped, and you can undo anything that doesn't.