O'Reilly logo
  • Musharraf Azeem thinks this is interesting:

then OpenGL doesn’t need to do this synchronization for you


Cover of OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 4.3, Eighth Edition


But if you can guarantee that pending operations do not need access to the buffer, then even if automatic synchronization is enabled, there will be no performance hit (except to check that the buffer is locked, which is negligible).

But if pending commands are going to use the buffer, which is the case when our buffer modification will be blocked and we gain the real performance hit, then we can use the UNSYCHRONIZED bit anyways.

The way I see it, the only savings to be had from the UNSYNCHRONIZED bit is checking and applying a sync lock, which might only be worthwhile if the buffer is small and going to modified repeatedly. But something like a texture buffer object, the cost of data transfer is going to be far greate...