LatencyMon was specially developed as a small and accessible software that allows you to find the root cause of audio drop outs, clicks and pops.
LatencyMon can check if a system is suitable for processing real time audio by measuring DPC and ISR excecution times as well as hard pagefaults.
It will provide a comprehensible report and find the kernel modules and processes responsible for causing audio latencies which result in drop outs. It also provides the functionality of an ISR monitor, DPC monitor and a hard pagefault monitor.
Windows is not a real time operating system and all requests to the OS are delivered on a best effort basis. There are no guarantees whatsoever that requests are delivered within a certain time frame, which are the characteristics of a real-time operating system.
Audio applications need to deliver data to the subsystem and the hardware in buffers several times per second. If one or more buffers miss their deadlines and are not delivered in time it has audible consequences which are recognized as dropouts, clicks and pops.
The interrupt service routine (ISR) is executed and may schedule a DPC (Deferred Procedure Call) to offload an amount of work. The DPC will most likely run immediately on the same processor which means the audio application will halt until both the ISR and the DPC routines have finished execution. That is because ISRs and DPCs run at elevated IRQL which means they cannot become preempted by the thread dispatcher (scheduler).
Therefore to guarantee responsiveness of the system, ISR and DPC routines should execute as fast as possible.
Guidelines say that they should not spend more than 100 µs of execution time however this is often not reached due to hardware factors beyond the control of the driver developer. If execution time gets too high, the audio program may be unable to deliver audio buffers to the hardware in a timely manner.
What's New in This Release: [ read full changelog ]
Interrupt to user process latency measuring:
· Version 5 uses the method of interrupt to user process latency measuring to determine the real-time capabilities of your system.
Hardware information added to report:
· The report now includes hardware information such as your system brand and model and system board name.
Bug fixed: process name not displayed in report text:
· The report always displayed process name "none" as the process that had been hit with the highest number of hard pagefaults. This has been fixed.
Several minor corrections and small bug fixes:
· Several minor corrections and small bug fixes have been made to the software.