[wdmaudiodev] Re: Realistic Achievable Latency in Audio driver

  • From: "Amar Kumar" <akumar@xxxxxxxxxxxx>
  • To: <wdmaudiodev@xxxxxxxxxxxxx>
  • Date: Tue, 7 Jan 2003 11:02:46 +0530


Hi Matt,

Thanks for your comments about Latency issue.

What i get is that if the hardware has handled interrupt efficiently and
does most of the data processing then low  latency can be achieved. Am I
right ?

Thanks,
- Amar

-----Original Message-----
From: wdmaudiodev-bounce@xxxxxxxxxxxxx
[mailto:wdmaudiodev-bounce@xxxxxxxxxxxxx]On Behalf Of Matt Gonzalez
Sent: Saturday, January 04, 2003 7:09 AM
To: wdmaudiodev@xxxxxxxxxxxxx
Subject: [wdmaudiodev] Re: Realistic Achievable Latency in Audio driver



Hello Amar-

As I understand it, one of the main factors determining latency is the DPC
queue
for the system.  The DPC queue basically forms a round-robin,
cooperatively-multitasking layer within the kernel; the DPC for your
hardware
has to wait its turn.

In other words, your total audio latency will be no better than the
worst-case
time between your hardware interrupt and your DPC.  If you have other
drivers in
the system that have DPCs that take a long time to execute, you end up with
longer latency for your audio hardware.

In theory, everyone is supposed to write DPCs that execute very quickly, but
in
practice that simply isn't the case.

The best thing you can do is to have your interrupt service routine and DPC
run
as quickly as possible.  This means not doing lots of signal processing or
data
movement in the DPC; ideally, your hardware should be handling all that.

I have also seen motherboards with an APIC cause latency issues; one one
motherboard with an APIC, I've seen interrupt latencies from 500 - 700
microseconds.  This is the time between the hardware interrupt firing and
when
my interrupt service routine runs.  I haven't seen this with PIC
motherboards.


You might also want to read the new white paper on Microsoft's hardware
developer site about writing efficient PCI audio drivers.

Matt



******************

WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.de/


******************

WDMAUDIODEV addresses:
Post message: mailto:wdmaudiodev@xxxxxxxxxxxxx
Subscribe:    mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=subscribe
Unsubscribe:  mailto:wdmaudiodev-request@xxxxxxxxxxxxx?subject=unsubscribe
Moderator:    mailto:wdmaudiodev-moderators@xxxxxxxxxxxxx

URL to WDMAUDIODEV page:
http://www.wdmaudiodev.de/

Other related posts: