Re: I/O Latency (Was: Layman with a mission)
Re: I/O Latency (Was: Layman with a mission)
- Subject: Re: I/O Latency (Was: Layman with a mission)
- From: "Angus F. Hewlett" <email@hidden>
- Date: Wed, 13 Oct 2004 10:10:15 +0100
Dennis Gunn wrote:
I replied to William's other points in longer post that is actually so
long it is awaiting moderation but probably the biggest the thing that
I am asking about here specifically is if it would be possible to
simply have a mode where the clock of the application is locked
directly to the clock of the IO and there is no need to have buffers
to accommodate jitter or unmatching clock rates or whatever (yes I
know I am a layman and "simply" is easy for me to say)
That's not possible on a general purpose computer running a general
purpose OS - you always have to have some kind of buffering. Specialist
dedicated hardware (DSP-powered hardware/software synths like Virus, and
DSP-farm cards like Pro Tools TDM and Creamware SCOPE), do work in that
way and get lower latency as a result.
OS 9 did allow more direct access to the hardware, and GigaStudio on
Windows goes to even greater lengths (effectively, it runs its entire
audio engine as a low level system driver rather than a user
application); however, the general feeling these days is that drivers
and the low-level parts of the system should be left to specialist
driver developers and the developers of the OS itself, and third party
apps should stick *strictly* to "user mode" and trust that the driver
and system guys are doing their best to provide the lowest latency
environment that will run safely on the OS. Dennis - if you're
interested, mail me off-list and I'll dig out some links which explain
the architecture of a modern OS - all modern desktop OS (OS X,
Unix/Linux, WinNT/2K/XP) follow pretty much the same principles. In any
case - even doing things the OS 9 way, you'd still need some degree of
buffering as a) the link between the CPU and the audio AD/DA converters
just isn't as direct as on a Virus or a TDM farm, and b) even on 9, the
CPU can get interrupted by other tasks and has to buffer things for long
enough to deal with them without gapping.
This is getting a bit OT for the list, but, what it comes down to is
that this approach will lead in the end to MUCH greater stability. Now,
I know a lot of working musicians who complain bitterly that X is no
more stable than 9, and who can't understand why developers keep on
about how much better and more stable it is, but bear this in mind:- X
is really a complete rewrite; a lot of software and drivers for it have
also had to be (re)written from scratch; and, as such, it's not had that
much time to bed in - whereas, 9 (and the software running on it) was a
continuation of developments going way further back. The OS itself is
absolutely rock solid now, but the apps themselves will take a little
longer to bed in. Once they do, however, I am 100% certain that X will
be more stable, for everyone, than 9 ever was. It also makes a whole
bunch of cool stuff possible that just couldn't be done on 9.
I assume that in as much is as it relates to this latency issue that
is the single biggest difference between OS9 where there was no big
buffer between the application and the IO hardware and OSX where there
is a kind of huge one. For somebody using a DAW it just is not really
a consideration, we do not want the OS to do the jitter compensation
since jitter is an issue between clock that are not synced, nor do we
want the real time SRC. What we want is for everything to be locked up
in tight sync and run a low latency with no processing being done
outside the DAW app whatsoever.
Yep.. problem is, on any modern, general purpose desktop OS, the DAW
always has to share CPU time with other tasks (the OS just will not run
without them), and it always, without exception, has to buffer enough
audio so that the audio hardware can keep streaming without gaps for as
long as the CPU gets interrupted by those other tasks. There is just no
getting away from that - the OS guys can try to make the task handling
as smart as possible, allowing the buffers to be made smaller, but it'll
never go away completely. The only alternative is to do all your audio
processing on some kind of dedicated hardware with direct access to the
AD/DA convertors. That's one of the main reasons Digidesign can still
charge $$$$$$ for Pro Tools hardware.
Best regards,
Angus.
--
=========================================================
Angus F. Hewlett, Managing Director (CEO)
FXpansion Audio UK Ltd - http://www.fxpansion.com
Registered in the UK - #4455834 - VAT: GB 798 7782 33
=========================================================
_______________________________________________
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