• 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: Coreaudio performance under load
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Coreaudio performance under load


  • Subject: Re: Coreaudio performance under load
  • From: Jeff Moore <email@hidden>
  • Date: Wed, 15 Feb 2006 14:15:53 -0800

You need to figure out why you are getting drop-outs before we can offer some help in fixing them. The reasons could be many ranging from something simple like your code just doing too much work in the IOProc to something complicated like your code blocking on a lock or allocating memory or something like that.

Toward this end, you'll need to instrument your own code so that you can figure out what's going on. You should also familiarize yourself with the various tools we have on the system to help you diagnose issues like this. Shark, for example, provides an excellent way to look at what's going on in your program from the system's point of view. You'll find the system trace facility in Shark exceptionally helpful.

Another tool that you'll want to use is the IO Cycle Telemetry window in HALLab, which is part of the Core Audio SDK and can be found in / Developer/Examples/CoreAudio/HAL/HALLab). This window allows you to tap into the running HAL in another process and spy on what's going on. It provides a way to pin-point the general reasons why an overload happens. The telemetry can also be used to trigger kernel traces that help figure out a little more precisely why the IO thread isn't getting the time it needs.

You should leaf through this list's archives as the topic of diagnosing drop-outs has come up many times, as you might imagine. Also, we are more than happy to help you puzzle through the HALLab or kernel trace output to help figure out what's going wrong.

On Feb 11, 2006, at 2:03 PM, Michael Guntsche wrote:

I recently finished an auhal output plugin for the libao library (http://www.xiph.org/ao).
During my testing I noticed that I only need some higher load on my powerbook (bouncing dock icon + compile) to get buffer underuns (stuttering). First I thought that I did something wrong and so I tried SDL which also has support for CoreAudio, but I got buffer underruns there too quite easy.
I know that I could increase the ringbuffer size but this also increases latency. Since I never get dropouts in quicktime or iTunes I wonder how they do that.


--

Jeff Moore
Core Audio
Apple


_______________________________________________ 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
References: 
 >Coreaudio performance under load (From: Michael Guntsche <email@hidden>)

  • Prev by Date: Re: Do any hosts support the "interesting" parts of the AU API?
  • Next by Date: Re: Do any hosts support the "interesting" parts of the AU API?
  • Previous by thread: Coreaudio performance under load
  • Next by thread: Changing the transfer speed to a USB to MIDI interface
  • Index(es):
    • Date
    • Thread