Re: Preroll semantics & clarification of kAudioUnitProperty_OfflineRender
Re: Preroll semantics & clarification of kAudioUnitProperty_OfflineRender
- Subject: Re: Preroll semantics & clarification of kAudioUnitProperty_OfflineRender
- From: Stefan Gretscher <email@hidden>
- Date: Wed, 23 Nov 2011 10:19:46 +0100
Am 23.11.2011 um 06:10 schrieb Brian Willoughby:
> In other words, your goal all along has been to achieve higher rendering speed during preroll, not higher rendering quality. Since OfflineRender does not increase rendering speed (but more likely slows it down in most cases where it makes any difference at all), then it seems like your application would want to specifically avoid OfflineRender (unless I missed something).
Render quality may not only be bound by CPU load (for which I agree with your arguments), but also by I/O load. For plug-ins that depend on file I/O to do their audio processing (such as samplers, or plug-ins like Melodyne), higher rendering speed in a realtime context at some point necessarily degenerates quality dramatically because at some point the file I/O cannot be done fast enough any more and so buffers are dropped.
For this type of plug-in, render speed and render quality are strictly coupled during realtime operation, from a certain point onwards you can't increase the former without decreasing the latter. Lifting the realtime constraints by switching to offline mode resolves this dependency, allowing you call rendering faster (at the expense of some or even all rendering calls being potentially much slower).
In a music production software for recording studios, you can get away with realtime render and occasional dropped buffers during preroll - the affected tracks will most likely just start playing a little later than the other tracks. However when working on broadcast software, dropping buffers when starting audio is no viable option, and in this use case I don't see any way around switching to offline rendering for the pre-roll if you want to it faster than realtime.
Best,
Stefan Gretscher
_______________________________________________
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