Lectura de GPU (readback)
Copiar datos de la GPU de vuelta a la CPU: trivial de escribir, famoso por bloquear el pipeline.
La GPU y la CPU normalmente funcionan de forma asíncrona: la CPU encola comandos y se adelanta mientras la GPU va uno o más fotogramas por detrás. Una lectura de vuelta rompe eso: si la CPU quiere leer un píxel renderizado, un resultado de cómputo o una consulta de oclusión, debe esperar a que la GPU haya terminado de verdad, y la sincronización puede costar todo el margen del fotograma. Las primeras llamadas a glReadPixels eran célebres por esto.
La solución es nunca leer el fotograma actual. Se copia a un búfer de preparación (staging) y se recoge el resultado un par de fotogramas después, cuando la GPU ya ha pasado el punto de todos modos; los búferes en anillo con varios destinos de staging son el patrón estándar. El GPU picking, las capturas de pantalla y la exposición basada en histograma dependen todos de la lectura diferida.