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 on 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.
- It is imperative that you are testing for DPC latency using the same software configuration that you normally use 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.