Apache Labs ANAN-10 Users Guide
APPENDIX - A – Computer performance
Computer Performance
Processing of streaming data in real-time can be a challenging task for Windows-based applications and device
drivers. This is because by design Windows is not a real-time operating system. There is no guarantee that tasks
can be executed in a deterministic (timely) manner.
Audio or video data streams transferred from or to an external device are typically handled by a kernel-mode
device driver. Data processing in such device drivers is interrupt-driven.
Typically, the external hardware periodically issues interrupts to request the driver to transfer the next block of
data. In Windows NT-based systems (Windows 2000 and later) there is a specific interrupt handling mechanism.
When a device driver cannot process data immediately in its interrupt routine, it schedules a Deferred Procedure
Call (DPC). Microsoft defines them as: A Deferred Procedure Call (DPC) is a queued call to a kernel mode
function that will usually be executed at a later time. DPCs are used by drivers to schedule I/O operations that
do not have to take place in an ISR at a high IRQL, and can instead be safely postponed until the processor
IRQL has been lowered. When you look at Windows Task Manager and sort the running processes by CPU
(Processor Utilization), the System Idle Process is almost always at the top of the list. What you may not know is
that ‘process’ is really a roll-up of several things. Among other things included in that CPU number, is hardware
interrupts and DPCs. You can see these two items by using the Microsoft “SysInternals” Process Explorer
available here: Process Explorer
The sycon's DPC Latency Checker is a free Windows tool that analyses the capabilities of a computer system to
handle real-time data streams properly. It may help you to determine if your personal computer is capable of
powering your HPSDR system or to find the cause for interruptions in real-time audio and video streams, also
known as ‘drop-outs’. The program supports Windows 2000, Windows XP, Windows XP x64, Windows Server
2003, Windows Server 2003 x64, Windows Vista, Windows Vista x64, Windows 7 32 bit and 64 bit and is
available here. Latency checker found by N9VV
http://www.resplendence.com/latencymon
and
http://www.thesycon.de/deu/latency_check.shtml
N9VV and KC9XG 32 of 42 v0.63 January 8, 2013