title: Single threaded game and rendering
body: <p>I'm writing single threaded game engine for 2D games. Right now my game loop looks rougly like this:</p>
  
  <ol>
  <li>Update game logic</li>
  <li>Update physics</li>
  <li>Handle collisions</li>
  <li>Render scene</li>
  </ol>
  
  <p>I'm using OpenGL for rendering. I'm wondering about 'Render scene' step position in game loop. There is a SwapBuffers() call on the end of the 'Render scene' step, so CPU is blocked until all rendering is finished. What do you think about this game loop:</p>
  
  <ol>
  <li>Render scene (previous frame)</li>
  <li>Logic, physics, collisions</li>
  <li>Swap buffers</li>
  </ol>
  
  <p>This approach will bring better parallelism between CPU and GPU. Am I right?</p>