Contact

The case of DPC latency

Article update log

  • 16.03.2012: Added some quick tips to 4.Tips & tweaks in reducing DPC latency
  • 11.08.2010 : Added Win 7 & Asio results to 3.1 chapter (draft version)
  • 3.08.2010 : Part 1 (First Revision)

 

PART 1

 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 computer has high DPC latencies, 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 P4 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 latencies.

2. How to check DPC latency

First you have to download and run the DPC latency checker from here.  Note that 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. Test Setup & Some Examples

Lets start with the test system:   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

 3.1 Asus Xonar DX vs Realtek ALC885 showcase

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 are good, 300-500 are OK,  500-1000 are bad and values >1000 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 – showcase

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

PART 2

4.Tips & tweaks in reducing DPC latency

16.03.2012 – Sorry guys as I never got around to do the part 2 the way I previously intended.

If you have problems with high DPC latency, here are some quick tips:

  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.
  3. Make sure you have your Windows updated
  4. Disable any motherboard/CPU monitors that autostart with windows (like GigaByte EasyTune, ASUS AI Probe and so on)
  5. Disable High Precision Event Timer (HPET) if you are using Windows Vista/7/8/10.
  6. Update your motherboard BIOS to the latest version.

A very good read in regards to updating drivers and different performance enhancements here (by Von Dach) .

Advertisements

31 Comments

  1. ASUS XONAR Unified Drivers 1.0 & ASIO 1.0 patch (post periodically updated) « brainbit | Unified Xonar Drivers    09 Aug 2010 @ 21:24   

    […] 08.08.2010 : Check out an article about DPC latency here […]

    Reply

  2. half    11 Aug 2010 @ 08:55   

    i kinda wondering, does the latency also high when using foobar on asio output using the normal driver?

    Reply

  3. Th3_uN1Qu3    31 Aug 2010 @ 23:21   

    Using the ASIO driver won’t result in high latency – any effects enabled in Asus Audio Center are completely ignored in ASIO mode.

    Reply

  4. jane    15 Sep 2010 @ 17:19   

    All these issues are important, and that's why I just started blogging a while ago and it feels great

    Reply

  5. rankena    29 Sep 2010 @ 14:18   

    Waiting for "Part 2.Tips & tweaks in reducing DPC latency",until not new drivers for testing.

    Reply

  6. rankena    04 Oct 2010 @ 10:25   

    ok 🙂

    Reply

  7. htrhrw    06 Oct 2010 @ 22:11   

    I'm getting constant DPC spikes. About every second bar is in the yellow, above 1000. That's without running any programs in the background. Is this normal? http://i52.tinypic.com/245n2iq.png

    Reply

    • CarvedInside    07 Oct 2010 @ 16:20   

      No, it’s not normal at all. Try updating your drivers, especially network(wireless, bluetooth, Ethernet) & sound. And if you have some monitoring programs for motherboard & videocard try disabling them.

      Reply

      • htrhrw    12 Oct 2010 @ 10:24   

        All my drivers are up to date. I don't have any monitoring programs. Strangely, despite the spikes, I don't have any problems playing media either.

        Reply

  8. rankena    26 Dec 2010 @ 12:09   

    The case of DPC latency (Part 2)ever see the daylight?

    Reply

    • CarvedInside    26 Dec 2010 @ 12:40   

      Yes. I really hope so. I really want to write it, the reason is that I've been having a ruff time and that's keeping me from doing a lot of things.

      Reply

      • Monsignor    20 Oct 2011 @ 07:41   

        Please, write the second part. I really need it. After changing my hardware (all, except the HDD and Xonar D1 soundcard) I started to experience problems with sound. The latence is very bad 🙁

        Reply

        • CarvedInside    26 Oct 2011 @ 08:43   

          I would really want to, but the thing is that I don’t have time for it now. I will eventually write it.
          Some quick tips:
          – update your drivers , try searching for them on the original chip manufacturer and not on the motherboard manufacturer.
          – try updating your motherboard bios
          – disable any motherboard/cpu monitors that autostart with windows (like GigaByte Easy Tune)
          – read this topic , especially the first post.

          Reply

  9. Paul    14 Nov 2011 @ 20:23   

    Asus Xonar D2X on the 1794 drivers, win 7 x64, i7 965 XE. My DPC latency remains in the low green no matter whether I play a game in 5.1 or a movie with DTS in 7.1.

    Reply

    • CarvedInside    15 Nov 2011 @ 11:58   

      Basically thats ok, I guess motherboard generation plays a big role in this. How low is number wise?
      FYI: Windows 7 has a feature that tries to prevent DPC to raising to high, this lowers network transfer speed (if its active) so that your audio won't drop out.
      I am pretty sure if you would use UNi Xonar drivers with C-Media Panel your DPC latency would be even lower.

      Reply

  10. Paul    16 Nov 2011 @ 16:43   

    Hi, it fluctuates around 100, give or take 10 or so. I have never had a soundcard ( and I have had just about all of them ) with drivers as unobtrusive, non-bloated and that just work correctly, as the ones Asus provides with this card.

    I understand you have had some DPC latency issues but seriously, if you want some drivers to ridicule, go and buy yourself a Creative soundcard 🙂

    I tried your drivers and the performance is indentical as far as DPC latency goes, sorry, I wish I could say otherwise.

    Thanks for all the effort though, it is always appreciated.

    Reply

  11. Minda    04 Apr 2012 @ 15:27   

    I have managed to reduce DPC latency by around 100 us by disabling features in BIOS like CPU Enhanced Halt (C1E), EIST (SpeedStep) & Cool'n'Quiet. Thanks for the Tips.

    Reply

    • Silion    14 Apr 2012 @ 00:38   

      In my case disabling just C1E did the trick, it dropped latency from around 200us to 20-24us, it also eliminated sudden spikes in latency (the sound would suddenly hang till i moved the mouse)

      Reply

      • hunterz0    05 Dec 2012 @ 19:28   

        Disabling all power-saving options in my BIOS reduced my DPC latency from 200us to 100us.

        Reply

  12. Chris    20 Apr 2012 @ 05:29   

    "disable any motherboard/cpu monitors that autostart with windows (like GigaByte Easy Tune, Asus AI Probe)" <—-this did the trick for me 🙂 THANKS~

    Reply

  13. Delerue    01 Aug 2012 @ 04:08   

    I was fighting against high DPC latency when µTorrent was running, and I finally managed to solve it (or at least a workaround): I set the ‘Maximum upload rate’ inside µTorrent options (‘Bandwidth’ section) to some value other than ‘0’ (in my case exactly ’20’). Now I never get anything higher than 160 µs.

    I hope it helps other people. 🙂

    Reply

  14. qlum    14 May 2013 @ 02:36   

    Any good way to check the latency on windows 8 as the checker does not work with windows 8

    Reply

  15. HunterZ    09 Oct 2013 @ 03:33   

    In case anyone is trying to find causes of DPC latency, it’s worth noting that the “monitor” (Xonar driver) or “listen to” (Windows audio stack) methods of monitoring Xonar audio inputs on your Xonar audio outputs can add ~100us of DPC latency.

    I left a monitor enabled on the Aux input because I have some MIDI synthesizers connected to it, but now I will be leaving it off when not actively using those.

    This may annoy Xonar digital output users, as enabling monitoring is a trick that people use to keep the Xonar from putting the digital output into standby after a few seconds of no sound. The digital output standby is a problem because the Xonar doesn’t react immediately when the next sound plays, causing it to be clipped while the Xonar scrambles to re-enable the digital output.

    Reply

AdminAuthorFeaturedBuried

Leave a Reply

*

Your comment may be held for moderation. If it does not show up immediately, just be patient.