[Openal-devel] alcSuspendContext()
Richard Furse
rf015d9821 at blueyonder.co.uk
Sat Feb 16 10:05:11 PST 2008
Hi there - I'm playing with OpenAL again and I'm a bit confused about
exactly what alcSuspendContext() is expected to do. This is in an
asynchronous context.
As I understood it, alcSuspendContext() causes all AL operations to be
deferred until alcProcessContext() is called. However, an annotation at
http://www.openal.org/oalspecs-annote/x1489.html says that:
"The implementation is permitted to postpone propagating the
actual state changes until the context is marked for processing again,
with the exception of dereferencing data (e.g. buffer contents)."
Why is postponement of changes only "permitted"? Isn't it the point of
the function? And the exception seems to translate as "buffer content
changes must not be postponed". Have I got this right? And is this the
only kind of "dereferencing data"? Then:
"For efficiency reasons (memory usage), most if not all AL
commands applied to a suspended context will usually be applied
immediately."
This seems to state that "usually alcSuspendContext() doesn't actually
do anything". Have I got the wrong end of the stick here?
So I'm now throroughly bemused as to what this routine is actually
supposed to do! Is it used in many games?
Any clues appreciated...
--Richard
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://opensource.creative.com/pipermail/openal-devel/attachments/20080216/5673164d/attachment.html
More information about the Openal-devel
mailing list