Re: How long do render callbacks have to execute?
Re: How long do render callbacks have to execute?
- Subject: Re: How long do render callbacks have to execute?
- From: Stephen Blinkhorn <email@hidden>
- Date: Sun, 21 Aug 2011 16:07:41 -0600
On 19 Aug 2011, at 13:19, Brian Willoughby wrote:
On Aug 19, 2011, at 06:21, Robert Bielik wrote:
Paul Davis skrev 2011-08-19 15:16:
On Fri, Aug 19, 2011 at 2:53 AM, Brian Willoughby<email@hidden
> wrote:
Also, you cannot take advantage of SIMD unless your data is
interleaved,
I have no idea what you mean here. Its perfectly possible to use
SIMD
on a single channel of data. We use it in ardour to do peak
metering,
for example, and any plugin could do the same. I think you must mean
something more subtle.
+1. I do FIRs/Biquads on non-interleaved data with SIMD. Blazing!
My comments were all in the context of the mistaken claim that AU
kernels are designed to distribute multiple channels across multiple
cores. Putting aside the issue that a SIMD instruction runs on a
single core, I was trying to make the point that you cannot process
multiple channels with SIMD unless those channels are interleaved.
Edit that to: "you cannot take advantage of SIMD to process multiple
kernels unless your channel data is interleaved."
Yes, SIMD is perfectly suited to processing a single channel of
audio in a kernel, especially where multiple channels are not
interleaved. In fact, I suspect that the biggest reason Apple
deprecated interleaved channels is that SIMD does not work well (or
at all) on interleaved data. By splitting out each channel into its
own data stream, AudioUnits become much better suited for the kinds
of SIMD processing that you two are giving as successful examples.
If interleaved channel support has been deprecated then presumably I
can remove the portions of code from my instrument plugins that
catered for interleaved output. Was there ever a host that supported
interleaved channels?
This is a separate issue but I've been using interleaved data
internally for multi channel sample playback support recently. A few
people (probably on the music-dsp list) have commented on the possible
performance improvements of this kind of interleaving (possibly cache
related). For future reference and since its relevant to this
discussion I'd like to ask what are the potential problems with
interleaved data and SIMD?
Thanks,
Stephen | AudioSpillage
Brian Willoughby
Sound Consulting
_______________________________________________
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
_______________________________________________
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