Article update log:
- 24 Jul 2016: Article updated
- 16 Mar 2012: Added some quick tips to 4.Tips & tweaks in reducing DPC latency
- 11 Aug 2010 : Added Win 7 & Asio results to 3.1 chapter (draft version)
- 3 Aug 2010 : Part 1 (First Revision)
1. What is DPC latency
“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” – http://www.thesycon.de/eng/latency_check.shtml
Basically if you are watching a movie and your system has a high DPC latency, your audio/video will pause or skip for a couple of seconds. The same will happen with games.
The worst part is that those audio/video dropouts will occur regardless if you have a single core Pentium 4 2.4 GHz processor or a quad core Core i7. Bad coding of the drivers is usually the fault for high and very high DPC latency.
2. How to check DPC latency
For Windows 8, Windows 8.1, Windows 10, Windows Server 2012, Windows Server 2016 use LatencyMon.
DPC Latency Checker measures DPC latency of the overall system. LatencyMon measures DPC latency of the overall system and of individual drivers.
The DPC latency varies depending on the applications you are running (foreground and background) and it’s mostly influenced by audio data streams, video data streams and network activity (wireless, ethernet, bluetooth). But that’s not all, for example mouse movement also causes DPC latency levels to rise. When you use a P2P application and you watch a HD 5.1 movie, this can lead to a very bad movie experience, audio/video desynchronizations occurring several times during playtime.
3. DPC Latency Tests
DPC latency tests done on the following configuration: Core 2 Duo 8400 3.0 GHz, DFI LP UT P35 motherboard,Marvell 1 GB Lan onboard, Realtek ALC885 audio onboard ,2×2 GB Ram, ATI HD 3870 video card, Asus Xonar DX sound card, Windows XP x64 (sp2), Windows 7 x64(sp1), DPC Latency Checker.
3.1 Asus Xonar DX and Realtek ALC885 audio drivers DPC latency tests
The tests where done with 5.1 channel/44.1KHz settings except the cases where there are other settings specified. For comparison I also tested my on-board audio card Realtek ALC885 with Realtek HD 2.50 driver
Values are approximates. Values between 0-300µs are good, 300-500µs are OK, 500-1000µs are bad and values >1000us are terrible.
Don’t compare Windows XP results with those of Windows 7. Windows 7 is a clean install where Windows XP is fully loaded with programs. After closing the programs that where running in the background, such as Rainmeter, the results for Uni Xonar low DPC latency on XP where 68 µs .
As you can see Realtek did a pretty good job with their drivers, the differences are enormous between Realtek and ASUS/C-MEDIA drivers with the same settings. For those of you who don’t know, I made a version of the Xonar drivers (Uni Xonar low DPC latency) which disables Asus Audio Center from startup, resulting in a lower DPC latency at ~120µs . This doesn’t mean that if you disable autostartup for Realtek Panel you will get better results. ASUS Xonar drivers are special and issues pop-up where they shouldn’t.
3.2 Network activity impact on DPC latency
Here are 2 examples where increased network activity rises DPC latency
a) µtorrent network usage: 10 KBps Download, 310 KBps Upload
b) µtorrent network usage: 4,5 MBps Download, 300 KBps Upload
4. Tips & tweaks in reducing DPC latency
If you have problems with high DPC latency, here are some quick tips that can lower it:
- Update your drivers (especially audio, network LAN, WiFi, Bluetooth, TV tuner) . Try searching for them on the original chip manufacturer and not on the motherboard manufacturers page.
- Disable unused components like LAN, onboard audio card, Bluetooth etc. via BIOS or Device Manager.
- Disable any motherboard/CPU monitors that autostart with Windows (like GigaByte EasyTune, ASUS AI Probe and so on)
- Disable High Precision Event Timer (HPET) if you are using Windows Vista/7/8/10.
- Update your motherboard BIOS to the latest version.
- Update Windows.
A very good read in regards to updating drivers and different performance enhancements here (by Von Dach).