I have a vertex buffer that I update once a frame using glMapBufferRange and memcpy. Directly after updating, I call glDrawArrays.
A colleague of me says that it would be better to map/write/unmap the buffer at the beginning of the frame, then do other stuff in order to give the buffer time to upload, then call glDrawArrays as late as possible.
Is this claim true? I would think that anything that can cause a flush could trigger the upload burden, maybe at an even more inconvenient time than the actual render call.