title: Do I need to use glMapRange with buffer orphaning to avoid stalls?
body: <p>I've been told that buffer orphaning (i.e. calling <code>glBufferData()</code> with <code>NULL</code> for the final arg) allows us to avoid stalls that occur if GPU is trying to read a buffer object while CPU is trying to write to it.</p>
  
  <p>What I'm not clear on is whether we can use this approach <em>without</em> <code>glMapBuffer*()</code>, or whether <code>glMapBuffer*()</code> is integral to the idea of orphaning and stall avoidance? I ask this purely to avoid making unnecessary changes to an existing codebase, though I understand <code>glMapBuffer*()</code> to be an inherently better choice than repeated <code>glBufferData()</code> in the long run.</p>
  
  <p>(Please respond specific to OpenGL ES 2.0, unless the answer is general across GL versions.)</p>