sprite

The case of DPC latency

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 your system has a high DPC latency and you are watching a movie your audio/video will pause or skip for a couple of seconds. If you were to also run a P2P application while you are watching a movie, this would lead to a very bad movie experience, audio/video desynchronizations occurring many times during playtime. The same will happen when you play a game.

These 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.

The DPC latency varies depending on the applications you are running (foreground and background). 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 to rise.


Contents

  1. What is DPC latency

  2. How to check DPC latency

  3. DPC Latency tests and results

  4. Tips & tweaks for reducing DPC latency

Page updates

  • 13 Sep 2019:Added tip no. 7 to 4.Tips & tweaks for reducing DPC latency
  • 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 : First Revision

2. How to check DPC latency

For Windows XP, Windows Vista, Windows 7, Windows Server 2003, Windows Server 2008 use DPC Latency Checker or LatencyMon.

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.

3. DPC Latency tests and results

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

Results interpretation

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 .

The results

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

utorrent-310-kb-up

b) µtorrent – network usage:  4,5 MBps Download, 300 KBps Upload

utorrent-4-5-mb-dl-300-kb-up

4. Tips & tweaks for reducing DPC latency

If you have problems with high DPC latency, here are some quick tips that can lower it:

  1. 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.
  2. Disable unused components like LAN, onboard audio card, Bluetooth etc. via BIOS or Device Manager (in Windows Run or Search type devmgmt.msc or right click on Computer->select Manage->select Device Manager)
  3. Disable any motherboard/CPU monitors that autostart with Windows (like GigaByte EasyTune, ASUS AI Probe and so on)
  4. Disable High Precision Event Timer (HPET) if you are using Windows Vista/7/8/10.
  5. Update your motherboard BIOS to the latest version.
  6. Update Windows.
  7. Avoid IRQ sharing between devices by changing the interrupt mode to MSI for some of those devices, see info here.

Some good tips in regards to updating drivers and different performance enhancements can be read here (by Von Dach).

Applies to:

  • Windows XP, Windows Vista, Windows 7, Windows 8, Windows 8.1, Windows 10, Windows Server 2008, Windows Server 2012, Windows Server 2016 and Windows Server 2019

31 Comments

  1. Alt23 Feb 2014 @ 11:08

    SetTimerResolutionService (http://forums.guru3d.com/showthread.php?t=376458) helps to improve latency for Windows OS (from XP to 8.1).
    Some info about it here (http://www.lucashale.com/timer-resolution/)

    Reply

    • CarvedInside26 Feb 2014 @ 00:17

      From my experience this tool would only be useful if you would be on Windows Vista/7/8 and if a application you would use would not signal the system that it is a multimedia application so that the system would change its timer resolution from the IDLE state.

      Reply

AdminAuthorFeaturedBuried

Leave a Comment

Your comment may be held for moderation. If it does not show up immediately, please be patient. Comments have to comply with these rules:
  • English language only
  • Don't post insults or threats
  • Try to keep the discussion constructive and informative

We've noticed that you're using an AdBlocker

It's not just you, over 66% of our site's visitors are blocking the ads.

Please disable adblock for this website and refresh this page if you:
find the content useful want us to create more useful content and software want tech support through the comment section

The ads are placed so that there is minimal interference with page reading. There are no pop-up, pop-under or sticky ads.

Alternatively, you can support us by making a donation.

Close