Re: IOProc limitations
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>