DEV Community

Izanagi
Izanagi

Posted on

DPC latency and what it means for gaming and audio

DPC stands for Deferred Procedure Call. It's how Windows handles hardware interrupts — the interrupt fires, the driver schedules a DPC to do the actual work, and the DPC executes when the CPU is free.

High DPC latency means there are DPCs taking too long to execute. This causes audio dropouts, input jitter, and frame time spikes.

Measuring DPC latency

Download LatencyMon (free, by Resplendence). Run it for 5 minutes while gaming. Look at:

  • Highest reported DPC latency (should be under 300μs ideally)
  • Which driver is responsible for high latency

Common culprits:

  • ndis.sys — network driver
  • nvlddmkm.sys — NVIDIA GPU driver
  • dxgkrnl.sys — DirectX kernel
  • storport.sys — storage driver

Common fixes

Network driver: disable interrupt moderation, enable MSI mode on NIC, update driver.

GPU driver: enable MSI mode for GPU (see previous article), disable HPET if enabled in BIOS.

Storage: switch from IDE to AHCI mode if not already, enable MSI mode for storage controller.

USB: USB selective suspend can cause latency spikes when devices reconnect. Disable in power settings.

Timer resolution

High DPC latency is often improved by setting timer resolution to 0.5ms:

bcdedit /set disabledynamictick yes
Enter fullscreen mode Exit fullscreen mode

IzanagiOP addresses the most common DPC latency sources: NIC interrupt moderation, MSI mode for GPU/audio, timer resolution, USB selective suspend. https://terweb.lt/

Top comments (0)