Big optimization! The render loop dynamically adds the tiles to draw, so only the viewport is drawn, and not the complete map.