Re: Grand Central Dispatch in audio render callback
Re: Grand Central Dispatch in audio render callback
- Subject: Re: Grand Central Dispatch in audio render callback
- From: Support <email@hidden>
- Date: Sat, 30 Jul 2011 15:29:19 +1000
>
> On 29.07.2011, at 11:50, Support wrote:
>
>> This is what I was wondering about and it does seem hairy. How heavy the overhead is in scheduling each job and if that can block. In which case how does Logic schedule across multiple cores?
>
> The best way, as far as I understand it, is to have a pool of threads, each already running on a separate CPU, waiting for blocks of audio data to process. A single input and output buffer per thread with a read/write lock would probably do it.
>
> The overhead of distributing the blocks, waiting for completion and merging the results however comes at a cost. Unless your voices do heavy DSP work, I doubt it will give you any performance gain.
>
> It makes more sense if you're running a host and want to distribute plugins (subgraphs) across CPUs.
Thanks guys, I'll take all your advice and not run GCD from within the render callback.
_______________________________________________
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