Apple's Technical Q&A on addressing flickering (QA1650) incluye el siguiente párrafo. (Énfasis mío.)¿Cómo mejora glClear() el rendimiento?
Debe proporcionar un color a cada píxel en la pantalla. Al comienzo de su código de dibujo, es una buena idea usar glClear() para inicializar el búfer de color. Una pantalla completa despejada de cada uno de sus búferes de color, profundidad y esténcil (si los está utilizando) al comienzo de un cuadro generalmente también puede mejorar el rendimiento de su aplicación.
En otras plataformas, siempre he encontrado que sea una optimización de no borrar el buffer de color si se va a llamar a cada píxel. (¿Por qué perder el tiempo llenando el búfer de color si solo va a sobrescribir ese color claro?)
¿Cómo puede una llamada a glClear() mejorar el rendimiento?
No ha sido el caso que descuidar borrar el búfer de color/profundidad/plantilla sería una optimización del rendimiento durante muchos años. Como se explica en algunos de mis comentarios sobre las otras respuestas, tiene que ver con la compresión del búfer en las GPU modernas. En las GPU modernas estoy hablando de la serie Radeon 9xxx. La eliminación de estos búferes es en realidad una ganancia de rendimiento en prácticamente todas las arquitecturas GPU. –