In my game, I need to stream all vertices to the gpu. Streaming bandwidth is fine, but setting time usually needs ~20 µs by glMapBufferRange(GL_MAP_WRITE_BIT | GL_MAP_UNSYNCHRONIZED_BIT). Also hints of glBufferData doesn’t matter, so I choosed GL_STREAM_DRAW.
As I have to map this Buffer up to 10k times per frame, this will slowdown my game heavyly.
Is there a faster way to upload small changes to buffers? I looked at cudaHostAlloc and GL_AMD_pinned_memory, but both aren’t available for nvidia opengl.
glBufferSubData seems to be much faster, but would need an additional memcpy.