Deferred Procedure Call (DPC) latency is the time your PC waits for a hardware device to complete a request for service (data) from the operating system. If these latencies are very long in duration, on the order of 1000 microseconds (uS) and greater, it can adversely affect your PC's ability to run a real-time audio application like PowerSDR or SmartSDR DAX, resulting in stuttering audio, corrupted audio buffers, distorted audio.
Long duration DPCs are always caused by poorly written device drivers (software). This can be the driver itself and/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/or a BIOS update can mitigate the long duration DPC latency issues, but first, you need to 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.
- Run LatencyMon after installing it.
- 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.
- 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.