• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: multithreaded mixer
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: multithreaded mixer


  • Subject: Re: multithreaded mixer
  • From: Jeff Moore <email@hidden>
  • Date: Wed, 4 Feb 2004 14:39:18 -0800

On Feb 4, 2004, at 1:56 PM, Stefan Werner wrote:

Hi,

On 04.02.2004, at 22:22, email@hidden wrote:
Also, let's not forget about the cost of constantly transitioning
between all these threads. This doesn't take a trivial amount of time,
especially since so much state (think about all the FPU and Altivec
registers that need to be saved on a G5) needs to be saved for each
transition. Depending on how you do things, you could easily wipe out
all your gains with managing the overhead.

In short, there's no proper way in which I could make my application make better use of a dual G5? I put my own non-IOProc related code in separate threads wherever possible, but the performance bottleneck are clearly the one dozens of AUConverter and AUVarispeeds that I have plugged into a Matrix Mixer.

Like I said in my email there are lots of ways to break up the processing to better utilize processing resources. The right way is going to depend on your capability for analyzing, decomposing and reconfiguring your engine and the data dependancies therein. I outlined some of the gotchas involved with managing the multiple threads that would be involved.

That said, it seems to me that there is no reason to put an AUConverter on the real-time path. All the things an AudioConverter does are not controllable in real time anyway. You'd be best off offloading that work to some other work thread, such as the one that is producing the data from the disk or where ever it is coming from and caching it for delivery on in your IO thread.

--

Jeff Moore
Core Audio
Apple
_______________________________________________
coreaudio-api mailing list | email@hidden
Help/Unsubscribe/Archives: http://www.lists.apple.com/mailman/listinfo/coreaudio-api
Do not post admin requests to the list. They will be ignored.

References: 
 >Re: multithreaded mixer (From: Stefan Werner <email@hidden>)

  • Prev by Date: Re: multithreaded mixer
  • Next by Date: Re: Sample-rate conversion
  • Previous by thread: Re: multithreaded mixer
  • Next by thread: Re: multithreaded mixer
  • Index(es):
    • Date
    • Thread