Re: Using MidiMan Delta 10x10 drivers
Re: Using MidiMan Delta 10x10 drivers
- Subject: Re: Using MidiMan Delta 10x10 drivers
- From: Stephane Letz <email@hidden>
- Date: Tue, 13 Nov 2001 11:05:42 +0100
>
I would imagine that this controls the hardware ring buffer size in the
>
kernel. If so, you _really_ don't want to use small number for this.
>
This value effectively controls the number of hardware interrupts per second
>
for the audio hardware. On other systems, the lower the number the better
>
the latency.
>
On Mac OS X, this is not the case. This number has _no_ effect on latency.
>
In fact, the lower this number the _worse_ your performance will be because
>
the number of interrupts per second increases which makes life much more
>
difficult for the rest of the system and increases the load on the system
>
dramatically for no gain in system performance.
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?
>
The buffer frame size range is synthesized by the HAL based on the smallest
>
schedulable time quantum (roughly 300 microseconds) to 3/8ths the size of
>
the hardware ring buffer. By adjusting the ring buffer size so small, you
>
have effectively made it impossible for other clients to meet the deadlines
>
you've imposed on them.
Where does the 14 frames value come from? could you explain this?
>
Technically, I'd rate this an application problem. They need to make sure
>
they can cope with the buffer size the hardware allows them. Clients of the
>
Sound Manager (like QuickTime) do this by not playing any sound since they
>
can't keep up with those kind of demands. Probably most clients won't be
>
able to keep up since the scheduling demands would be so tight that the
>
scheduler wouldn't be able to meet them in the first place.
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?
Then an application that need low latency must choose a small buffer size.
(even if the DMA is large)
Stephane Letz
Grame: Centre National de creation musicale
9, Rue du Garet
69001 Lyon
Tel: 04-72-07-37-00
Fax: 04-72-07-37-01
Web: www.grame.fr