[Openal-devel] Faster buffer model, and more random stuff
Chris Robinson
chris.kcat at gmail.com
Mon Feb 25 19:56:42 PST 2008
On Monday 25 February 2008 06:48:47 pm Sherief N. Farouk wrote:
> >>: With BufferData, two copies ALWAYS have to be made (Or a stall). With
> MapBuffer, if the copy is unnecessary it won't be made, and if it causes a
> stall it can be processed asynchronously with one less copy.
Note that the "stall" will happen regardless. OpenAL is gauranteed
thread-safe, so if you do something with a buffer, AL has to grab the context
mutex so another thread doesn't make unexpected changes in the middle of
things. There are two copies (as a noun), but only one actual copy (as a
verb).
> >>: In game development, we can't afford to waste a cycle, and especially
> memory space and allocations. Some target platforms have no branch
> prediction, in order execution and less than 256 MB of memory for the whole
> game! See my point?
Such platforms are generally what embedded systems versions of APIs are for
(OpenGL ES and such), though. It wouldn't be quite fair if OpenGL had to
adhere to the needs of systems targetted by OpenGL ES, after all.
More information about the Openal-devel
mailing list