Trippelbuffring i datorgrafik är en typ av dubbelbuffring ; en bildutmatningsmetod som undviker eller minskar artefakter .
Trippelbuffring möjliggör snabbare bildutmatning jämfört med dubbelbuffring . I verkliga applikationer innebär detta ofta ett försök att abstrahera grafikgenereringsoperationer från synkronisering med bildskärmens uppdateringsfrekvens . Vanligtvis ritas bildrutor under eller över skärmens uppdateringsfrekvens (variabel bildhastighet) utan de vanliga effekterna som detta kan orsaka (nämligen flimmer, skiftning, rivning). Eftersom programmet inte behöver polla hårdvaran för att ta emot skärmuppdateringshändelser, är algoritmen fri att köra så snabbt som möjligt. Detta är inte den enda buffringsmetoden som finns tillgänglig, men är den dominerande på PC -arkitekturer , där maskinhastigheter kan variera kraftigt.
En annan metod för trippelbuffring innebär att synkronisera med skärmens uppdateringsfrekvens, genom att använda en tredje buffert helt enkelt som ett sätt att ge ledigt utrymme för ändringsförfrågningar i den totala mängden grafik som renderas. Här används bufferten i egentlig mening när den fungerar som lagring. En sådan metod ställer ökade minimikrav på hårdvara , men ger en konsekvent (mot variabel) bildhastighet.
Trippelbuffring innebär användning av tre buffertar, men metoden kan utökas till valfritt antal buffertar som applikationen behöver. Det är vanligtvis ingen fördel med att använda fyra eller fler buffertar.
Om systemet har två buffertar, A och B, kan det visa buffert B samtidigt som det genererar en ny bild i buffert A. När bilden i buffert A är klar måste systemet vänta på att monitorstrålen återgår till att byta buffertar. Denna vänteperiod kan vara flera millisekunder under vilken ingen av buffertarna berörs. I det ögonblick som den vertikala skanningen är klar kan du antingen byta buffertar A och B, för att sedan börja rendera i buffert B (sidbyte), eller kopiera buffert A till buffert B och rita in buffert A.
Om systemet har tre buffertar, A, B och C, behöver det inte vänta på att buffertarna ska ändras. Den kan rendera buffert B, rendera buffert A. När buffert A är klar, börjar den omedelbart rendera buffert C. När det blir en vertikal paus visas buffert A och buffert B frigörs för återanvändning.
Om systemet alltid fyller buffertarna på kortare tid än det tar att visa bufferten på skärmen, är den enda fördelen med trippelbuffring framför dubbelbuffring lägre genomsnittlig utmatningslatens.