GPU-readback
Data van de GPU terugkopiëren naar de CPU: eenvoudig te schrijven, maar berucht om het vastlopen van de pipeline.
GPU en CPU werken normaal asynchroon: de CPU zet opdrachten in de wachtrij en rent vooruit, terwijl de GPU een frame of meer achterloopt. Een readback doorbreekt dat. Wil de CPU een gerenderde pixel, een rekenresultaat of een occlusion query uitlezen, dan moet die wachten tot de GPU echt klaar is, en die synchronisatie kan de hele marge van een frame kosten. Vroege glReadPixels-aanroepen stonden hier om bekend.
De oplossing is om het huidige frame nooit uit te lezen. Men kopieert naar een staging buffer en haalt het resultaat een paar frames later op, wanneer de GPU het punt toch al gepasseerd is. Ringbuffers met meerdere staging-doelen zijn het standaardpatroon. GPU-picking, screenshots en op histogrammen gebaseerde belichting steunen allemaal op uitgestelde readback.