Diagnose and fix high DPC Latency Issues with WPA (Windows Vista/7/8)


To totally unlock this section you need to Log-in


Login

Many audio/video problems on a computer can be caused by DPC latency. DPC stands for Deferred Procedure Call. In its simplest form it is the part of your Windows system that handles driver efficiency.

If there is a driver that is taking longer than normal to process, it may prevent other drivers from being processed in time. The worst case is that it can cause your audio interface driver from responding in time and can cause clicks, pops, distortion and dropouts.

Spikes of high DPC latency can cause a computer to slow to a crawl for a few seconds before speeding up again in super-speed to catch up, then repeating a number of seconds later. During the few seconds of slowness (high latency spike), you may notice jerky and erratic mouse movement, poor quality, stuttering, audio, and pausing and skipping in real time video playback. If these symptoms sound familiar, read on.

The technique outlined below will work on Windows 7 and Windows 8. It will not work on Windows XP, but an alternative for Step 2 has been briefly outlined at the bottom of this tutorial for Windows Vista. In addition, this technique is fairly technically advanced.

Step I (Optional): Making a Quick Diagnosis

This step will allow you to quickly and easily determine whether or not high DPC latencies are indeed a problem on your computer. It is not necessary to perform this step, since it will not show you the cause of any DPC latency spikes it does find. Step 2 will be used to determine the cause any of such problems, and so you may wish to skip ahead to Step 2 now.

  1. Download and run DPC Latency Checker from this website: DPC Latency Checker.
  2. Allow it to run until you have experienced a period of lagging and computer slowness. It is important to allow the program to run through such a time period in order to make a proper diagnosis. Having it running only whilst the computer is performing normally is not nearly as effective.
  3. Analyze the graph for a large spike into the reds. A healthy graph will remain in the green section, and will look similar to this:

Diagnose and fix high DPC Latency Issues with WPA (Windows Vista/7/8)

A graph containing spikes into the red (indicative of a DPC latency problem) will look similar to this:

Diagnose and fix high DPC Latency Issues with WPA (Windows Vista/7/8)

Now identify whether or not you have a DPC Latency problem using the graphs given above as a reference. If you do, continue on to Step 2 to identify the cause of this problem.

Step 2 (If necessary): Identifying the Cause

NOTE: This technique is not possible on Windows Vista computers. If you are using Windows Vista, please skip ahead to the end of this step for a briefly outlined alternative.

This step will use the Microsoft Windows Performance Analyzer from the Windows Assessment and Deployment Kit (ADK) to identify the cause of any DPC latency spikes.

  1. Download the ADK from this website: Download Windows Assessment and Deployment Kit (ADK) for Windows® 8.1 from Official Microsoft Download Centre. Ignore the reference to Windows 8.1. This download applies to both Windows 7 and Windows 8.
  2. Run ADKSetup.exe and allow it to initialize past the splash screen.

Click Next:

Diagnose and fix high DPC Latency Issues with WPA (Windows Vista/7/8)

Click Next again (you may opt in to CEIP if you so wish - it is not necessary, but you may wish to do so):

Diagnose and fix high DPC Latency Issues with WPA (Windows Vista/7/8)

Click Accept:

Diagnose and fix high DPC Latency Issues with WPA (Windows Vista/7/8)

Alter the checkmarks to be next to the following box only: Windows Performance Toolkit

Diagnose and fix high DPC Latency Issues with WPA (Windows Vista/7/8)

Allow the install to complete and finally click Close:

Diagnose and fix high DPC Latency Issues with WPA (Windows Vista/7/8)

Windows 7: Click on the Start Orb, search for cmd, and press Enter.
Windows 8: Swipe up or right click on the Start Screen, select All Apps, swipe or scroll to the right, and under the Windows System section, open Command Prompt.

Now, in Command Prompt:

Type out the following line and press Enter:

xperf -on DiagEasy

Nothing much will appear to happen, but xperf is now logging. Wait until the computer has gone through a period of stuttering slowness, and then type out the next line and press Enter (this line may take several seconds to process):

xperf -d %userprofile%\Desktop\trace.etl

Finally type this line and press Enter:

xperf %userprofile%\Desktop\trace.etl

If you get prompted the following message, select Yes:

Diagnose and fix high DPC Latency Issues with WPA (Windows Vista/7/8)

A new window will now open, and after initializing, will containing several graphs.

Scroll down to the graph titled DPC CPU usage, right click on it, and select Summary Table. The example graph show below comes from a healthy computer, yours is likely to show much larger spikes and a smaller scale on the % usage axis.

Diagnose and fix high DPC Latency Issues with WPA (Windows Vista/7/8)

A final new window will open containing a list of drivers. This list is already correctly sorted (by the Actual Duration column). The driver on the very top of the list is therefore likely to be the cause of your problem. Note down its name from the leftmost column.

Diagnose and fix high DPC Latency Issues with WPA (Windows Vista/7/8)

You may now close both Windows Performance Analyzer windows and go back to the Command Prompt.

Type the following line final line and press Enter:

del %userprofile%\Desktop\trace.etl

Now close the Command Prompt window.

Now you need to fix the problem. With the driver name in hand, first try to identify where it comes from. Once you have identified the driver (just think, for example, on which software you have installed recently), you need to update it from the manufacturer's website.

Just download and install the latest version of the driver, and hopefully your DPC related problems will be resolved.

Alternative Step 2 for Windows Vista

As an alternative to Step 2 for Windows Vista computers, you may use a program called LatencyMon which can be downloaded here: Resplendence Software - Free Downloads

Once installed, start LatencyMon from the Start Orb > All Programs > LatencyMon.

In the top left hand corner of the window which opens, click on the green start button (highlighted in the image below). Then navigate to the Drivers tab, sort by the Total Execution (ms) column, and wait until the computer has gone through one of its periods of lagging or stuttering. Finally, read off and note down the driver at the top of the list, and continue with Step 2 (check the source's driver and then update or remove the relative software).

Diagnose and fix high DPC Latency Issues with WPA (Windows Vista/7/8)

LatencyMon will show the status of the latency issues in the Report Area. The text in the Report Area will turn red when there is problems and will give you a general idea of how to fix it. The lower section will show you the problematic drivers.

Some problematic drivers

Here is a shortcut list of what drivers could lead to DPC issues:

ndis.sys = network or wi-fi adapters. Try disabling Wifi and network adapters in Device Manager.

ohci1394.sys = firewire card or firewire device. Unplug any firewire devices and re-test for latency issues. Update any drivers for your firewire devices and try again. Check for IRQ conflicts particularly with video drivers. If you have a built in firewire port, try using a PCI or PCIe firewire card instead.

USBPORT.sys = These are your USB Controller drivers on your motherboard. Download the latest chipset drivers for your motherboard, available from your computer or motherboard manufacturers support website. This may also help if you are on Windows 7 SP1: http://support.microsoft.com/kb/2529073.

In rare cases has been seen certain computers with Card Reader slots also cause a high DPC latency. Disable any SD/MMC/Compact Flash entries from within Device Manager.

nvlddmkm.sys = These are your video card drivers. Visit www.nvidia.com and locate the latest drivers for your video card and update them. Double check for IRQ conflicts between your video card and other devices on your system, particularly the IEEE 1394 Controller. On certain computers these may also be related to your motherboard chipset drivers.

ACPI.sys = This issue occurs typically on laptops. This can be difficult, sometimes impossible to solve. This driver is for ACPI on your motherboard which controls different power modes. First disable any sleep settings on your PC and do normal PC optimization. In some cases disabling the ACPI Battery from within device manager also helps. This may disable the ability for the PC to charge the battery on a laptop.

With any of these issues above, be sure to also perform normal PC optimization. In addition, be sure to disable any unnecessary devices in your BIOS including legacy Drive A options, Serial Port and Parallel Port options, anboard Audio adapter, and any "Stepping " technologies like Intel SpeedStep or AMD K8 Cool&Quiet.

Download

Here you can download the "DPC troubleshooting package" including both LatencyMon and DPC Latency Checker, directly from Heelpbook.net. You need to register and/or login in Heelpbook to see and downlod it (it's totally free).
[wpfilebase tag="file" id="230"]