Re: Using MidiMan Delta 10x10 drivers
Re: Using MidiMan Delta 10x10 drivers
- Subject: Re: Using MidiMan Delta 10x10 drivers
- From: Jeff Moore <email@hidden>
- Date: Tue, 13 Nov 2001 11:19:22 -0800
on 11/13/01 2:05 AM, Stephane Letz <email@hidden> wrote:
>
Does this means that on MacOSX the DMA interrupt is not directly used to
>
wake up the codeaudio thread?
>
And that the coreaudio thread are wake up using the standard system scheduler
>
?
>
>
So if i understand correctly DMA interrupt and codeaudio callback
>
management are not directly related. Is this correct?
Yup. That is correct. The device's hardware interrupt serves a vastly
different purpose on X than on 9. That's actually the crux of the way the X
audio stack works. Check out our WWDC presentations and our other
documentation for more info on the theory behind this.
>
Where does the 14 frames value come from? could you explain this?
300 mics is roughly 14 frames of audio data at a sampling rate of 44100.
Note that you require some serious CPU horsepower to run with this small of
an IO cycle. The 800MHz DP systems can't do it for instance. This lower
bound is more of a future looking thing than something you can really use
today.
The smallest buffer size I've seen run stably is 48 on a 500MHz DP system.
The new, faster systems might be able to run with smaller buffers, but I
haven't tested any of them.
The stability factor is greatly influenced by the number of processors. The
reason why is that the performance of the scheduler is the dominant effect
at small buffer sizes. More processors yields smaller scheduling latencies
which allows better stability at lower buffer sizes.
>
OK. So it seems that when using the MAudio Delta 10x10, the best is to set
>
the DMA buffer size to the highest possible value (2048) and then each
>
application can choose it's period of IOProcs by setting it's buffer size
>
from 14 up to 2048. Is this correct?
Yup. Larger driver ring buffers yields fewer interrupts per second which
keeps the load down.
>
Then an application that need low latency must choose a small buffer size.
>
(even if the DMA is large)
You got it.
--
Jeff Moore
Core Audio
Apple