• 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: IOProc limitations
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: IOProc limitations


  • Subject: Re: IOProc limitations
  • From: James McCartney <email@hidden>
  • Date: Fri, 01 Jun 2001 08:28:23 -0500

on 6/1/01 1:58 AM, Bill Stewart at email@hidden wrote:

> If you treat the work you do in the IOProc as similar to the kinds of things
> you do in a primary interrupt on 9, then you'll get better behaviour from
> the system. ie. Don't do allocations and expensive resource acquisitions
> whilst you're there. (I know I'm probably stating the obvious, but just
> because you can do these things, doesn't mean you should).

OK on MacOS 9 I have my own fast memory allocator.
My synth engine has to have dynamic memory allocation in the callback for
spawning new voices and allocating delay lines on the fly. It is not
possible to predict or preallocate these resources for various reasons.

On OS9 I do a HoldMemory() on this pool to guarantee that I will not page
fault. I understand that I cannot and should not access vm_wire on OSX.
The CoreAudio WWDC video I believe makes a statement to the effect that we
should take proper precautions not to page fault in the IOProc. But the
question is, how do we take those precautions?


--- james mccartney email@hidden <http://www.audiosynth.com>
SuperCollider - a real time synthesis programming language for the PowerMac.
<ftp://www.audiosynth.com/pub/updates/SC2.2.10.sea.hqx>


  • Follow-Ups:
    • Re: IOProc limitations
      • From: Jeff Moore <email@hidden>
  • Prev by Date: MIDI interface for MacOS X
  • Next by Date: Re: MIDI interface for MacOS X
  • Previous by thread: Re: MIDI interface for MacOS X
  • Next by thread: Re: IOProc limitations
  • Index(es):
    • Date
    • Thread