[Openal-devel] alcSuspendContext()

Garin Hiebert garinh at cheesetoast.net
Sat Feb 16 18:55:10 PST 2008


If I remember correctly (and it's possible I don't remember the whole 
picture correctly), this call is used in Creative native drivers (Audigy 
series, X-Fi), and is a NOP for other implementations.  What it's useful 
for in the Creative drivers is in batching-up state changes -- you 
suspend the context, make all your state changes, then resume the 
context.  On resuming, the OpenAL library can apply all the changes at 
once, which in some cases can save a lot time (in user/kernel context 
changes and user-level computation).  This is especially noticeable when 
applying a zillion EAX/EFX-extension changes -- if you do it on the fly, 
it can be much more wasteful than just bundling up the changes and 
applying them all at once.

Actually using the call to suspend mixing would always result in 
glitching (assuming audio is playing), which seems pretty useless to me 
(maybe some implementation did that at one time, but I hope that isn't 
currently the case).

Garin



More information about the Openal-devel mailing list