Deferred Procedure Call (DPC) latency refers to the time your PC waits for a hardware device to complete a request for service (data) from the operating system. If DPC latency is too long, on the order of 1000 microseconds (uS) or greater, it can adversely affect your PC's ability to run real-time audio applications like SmartSDR DAX. Resulting in stuttering audio, corrupted audio buffers, and distorted audio.
Long-duration DPCs are always caused by poorly written device drivers (software). This can be the driver or related to the PC's BIOS. Upgrading the device driver to a more current version provided by the hardware manufacturer (and not the Microsoft-supplied driver via Microsoft Update) and BIOS update can mitigate DPC latency issues. But first, you must identify the offending driver.
For Windows, you can use a free application called LatencyMon to detect problems with your PC's ability to run a real-time audio application. This information can be used to identify problem areas.
The following procedure will instruct you how to download, install, run, and capture the LatencyMon data that can be used for problem troubleshooting.
- Download LatencyMon (http://www.resplendence.com/download/LatencyMon.exe) and install it.
- You must test for DPC latency using the same software configuration used normally when operating digital modes. Do this by loading all of the programs you use on the PC before beginning to test for DPC latency. This includes SmartSDR, DAX, your digital mode program, and any other programs you use while operating digital modes, like a logger or "helper" programs (JTAlert, SliceMaster, etc..). Also if you normally have other programs open at the same time, such as a web browser or email, run those programs too.
- Once you have all your applications loaded, run LatencyMon.
- Click on the Green side-ways triangle to start tracing. Start your FlexRadio SDR application and the digital mode program so that the audio anomalies are observed. Let LatencyMon run until the audio problems are observed, even if it takes several hours. The minimum time for collecting DPC latency data should be 15-20 minutes to get a sufficient set of data for a complete analysis.
- Then click on the Red square to stop tracing. Click on Edit and select "copy Report Text to Clipboard".
- Then copy the report to a text file or your HelpDesk ticket so that a Technical Support Engineer can evaluate the results.