RME & latency discussion
RME & latency discussion
- Subject: RME & latency discussion
- From: "Martin Kirst" <email@hidden>
- Date: Thu, 14 Oct 2004 13:21:30 +0100
I heard about the latency discussion in this
mailing list. Almost everything is said in Bill's detailed email 'I/O Latency
(Was: Layman with a mission)'. But I don't like his comment on the RME numbers
below. It is not true, so I have to put it right.
There are two reasons why the monitoring latency on
Mac OS X is about 128 samples higher. Logic uses two buffers (2 * 64 = 128
samples) on Mac OS9 and three buffers (3 * 64 = 192 samples) on Mac OSX. It is
possible to use two buffers on Mac OSX, but most software uses three. Why that?
Because it makes sense. Audio processing in Logic on Mac OS9 was done at
hardware interrupt level. This is unacceptable for a real operating system like
Windows XP or Mac OSX. When audio processing is done in a user mode thread,
usally 3 buffers of 64 samples work more stable than 2 buffers of 128 samples,
though the overall latency is lower.
The second reason for the higher latency on Mac OSX
is the safety offset. The Multiface driver sets the safety offset registry value
to 32. This results in an additional latency of 64 samples (32 for input + 32
for output). Both the RME PCI cards as well as the RME Fireface also work with
lower values, e. g. 24 like MOTU. So you may discuss what the perfect value for
the safety offset is. But you can not set the safety to zero. This is different
from ASIO on Mac OS9. ASIO works interrupt driven while coreaudio works timer
driven. It may take a changing about of time to transfer the audio data from the
firewire controller or PCI audio card to the computer's memory depending on how
busy the PCI bus is. On Mac OS9 a hardware interrupt is generated to signal that
a new buffer is ready for processing. So you don't need a safety offset. In
coreaudio you do not know exactly at which time the audio data is ready. Thus
you need the safety offset. On the one hand this causes a slightly higher
latency on the other hand the timer driven coreaudio has many advantages over
the interrupt driven model.
Regards
Martin Bjoernsen
RME
>> Parameters: >> Buffer size (ASIO/CoreAudio) - 64
samples >> Apps - Logic 6.3.2 (OS X), Logic 6.1.0 (OS 9) >>
Audio - RME Multiface/cardbus >> >> OS X
(CoreAudio): >> TotalMix monitoring latency - 62 samples >>
Logic 6.3.2 monitoring latency - 322 samples > >> OS 9 (ASIO): >> TotalMix monitoring
latency - 62 samples >> Logic 6.1.0 monitoring latency - 192
samples > >Given these numbers (RME
differences between OS 9 and OS X), I think the >real issue is the quality
and performance of this driver. > >I
think that is also what Angus/Brian are trying to say - that
the >fundamental disparity here is NOT an architectural problem in Mac OS
X, but >rather a specific problem with the RME driver. I don't understand
personally >why the RME driver cannot get to a similar figure of 192
samples on X - >particularly as other manufacturer's devices/drivers show
that this is >indeed entirely possible. > >I'd suggest following up with RME - a
comment/complaint from a user goes a >long way... > >Bill
|
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Coreaudio-api mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden