Computer Grafikkarten Technik im Vergleich

Zum Zwischenspeichern der für den Bildschirm bestimmten Bildern verwenden Grafikkarten Techniken wie Double Buffering, Triple Buffering und Page Flipping. Doch was genau verbirgt sich hinter diesen Begriffen?

Alles was auf dem Computer-Bildschirm angezeigt wird, wird von der Grafikkarte gesteuert. Die maximal mögliche Farbtiefe und Bildauflösung wird von der Grösse des Grafikspeichers bestimmt. Double Buffering heisst wörtlich übersetzt doppelte Pufferung. Dabei reserviert sich der Grafikprozessor (GPU) im Speicher der Grafikkarte zwei Bereiche. Den Front Buffer und den Back Buffer. Dabei sind im Front Buffer die Daten des fertig berechneten Bildes, das gerade auf dem Monitor angezeigt wird, abgelegt. Im Back Buffer hingegen wird das darauf folgende Bild zwischengespeichert. Ist dies geschehen, so wird ein Seitenwechsel, welcher auch Page Flipping genannt wird, durchgeführt. Beim diesem Page Flipping wird ganz einfach zwischen dem Front Buffer und dem Back Buffer umgeschaltet, anstatt den Inhalt des Back Buffers in den Front Buffer zu übertragen. Nun wird der Inhalt des Back Buffers auf dem Computer-Bildschirm angezeigt – er wird also zum Front Buffer. Gleichzeitig wird der bisherige Front Buffer nun umgekehrt zum Back Buffer und nimmt die berechneten Daten des nächsten Bildes auf, welches angezeigt werden soll.

Beim Double Buffering kann es allerdings unter Umständen zu kritischen Situationen kommen. Der beschriebene Wechsel des angezeigten Bildes ist mit der vertikalen Synchronisation (VSync) des Monitorbildes gekoppelt. Bei einer Bildwiederholrate von beispielsweise 60 Hz wird das Bild jede sechzigstel Sekunde neu aufgebaut (also aufgefrischt). Der Seitenwechsel muss daher genau dann erfolgen, wenn der Monitor das Bild neu aufbaut. Ist das Bild im Back Buffer noch nicht komplett fertig, dann wird währenddessen nicht nur fast eine sechzigstel Sekunde das alte Bild angezeigt, sondern der gesamte Frame Buffer ist auch genauso lange blockiert. Der Grafikprozessor, welcher die Daten bearbeitet, muss also solange warten und kann dadurch seine ganze Leistungsfähigkeit nicht voll ausspielen. Um diese Situation zu entschärfen und wirklich jede sechzigstel Sekunde ein neu berechnetes Bild anzuzeigen, gibt es auch Grafikkarten mit sogenanntem Triple Buffering. Bei diesen wird einfach ein zusätzlicher dritter Back Buffer verwendet.