GPU-återläsning
Att läsa tillbaka data från GPU:n till CPU:n — enkelt att skriva, ökänt för att stalla pipelinen.
GPU:n och CPU:n arbetar normalt asynkront: CPU:n köar kommandon och drar vidare medan GPU:n ligger en eller flera bildrutor efter. En readback bryter det — vill CPU:n läsa en renderad pixel, ett compute-resultat eller en ocklusionsfråga måste den vänta tills GPU:n faktiskt är klar, och synkroniseringen kan kosta hela bildrutans vinst. Tidiga glReadPixels-anrop var beryktade just för detta.
Lösningen är att aldrig läsa innevarande bildruta. Man kopierar till en staging-buffert och hämtar resultatet ett par bildrutor senare, när GPU:n ändå passerat punkten — ring-buffrar med flera staging-mål är standardmönstret. GPU-picking, skärmdumpar och histogrambaserad exponering bygger alla på fördröjd readback.