Closed GoogleCodeExporter closed 8 years ago
Thanks for the report.
I tried to use glBufferSubData quite recently and I think it might be wrong
because it does not resize the buffer (on the GPU) if necessary. In fact,
BufferData acts both as both a "malloc" and a "memcpy" and since we upload the
whole buffer each time, maybe it is enough, what do you think ?
Original comment by Nicolas.Rougier@gmail.com
on 23 May 2012 at 10:50
It's true that glBufferSubData will not allocate any memory. It is going to
reuse whatever was allocated by the last call to glBufferData. So, if you are
uploading data that is less or equal to the previous data, glBufferSubData is
generally faster (no need to allocate new memory, just reuse existing buffer).
Also I do not know of any other way than glBufferData to allocate (or
reallocate) memory for a given buffer. So, yeah, you can always use just
glBufferData, but I think for a more optimized approach one should not
allocate+deallocate buffers often.
Then again, it means extra work, to keep track of the size each buffer can hold
and only call glBufferData if the new data does not fit.
Original comment by cristi.c...@gmail.com
on 23 May 2012 at 1:48
Yep, you're right. I just committed a fix. Thanks for the report (added your
name in the README).
Original comment by Nicolas.Rougier@gmail.com
on 23 May 2012 at 3:18
Original issue reported on code.google.com by
cristi.c...@gmail.com
on 23 May 2012 at 6:22