[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