Dreifachpufferung

Die Dreifachpufferung (engl. Triple buffering ) beschreibt das Konzept der Computergrafik , das im Framebuffer des Video-RAM Graphics in Drei Bereiche unterteilt wird. Ziel des Verfahrens ist es, die beiserichter Verwendung von VSync (Vertikale Synchronisation) und Doppelpufferung ( Doppelpufferung ) zu bewerkstelligen.

Der Unterschied zwischen Doppel- und Dreifachpufferung liegt in der Einteilung des Framebuffers. Während der Doppelpufferung der Framebuffer aus zwei Pufferspeichern (Front- und Backbuffer) ist für die Dreifachpufferung (ein Frontbuffer und zwei Backbuffer) ausgelegt.

Funktionsschweißen

Im Frontbuffer liegt das Bild, das gerade auf Bildschirm gebracht wird. Im Backbuffer 1 wird das nächste Bild gerendert (berechnet). Dort wird dann, wo die Swap- Belegung erfolgt ist. Dieser wird von der GPU initiiert, wenn der nächste Frame zur Ausgabe bereitsteht und der Speicher der Speicherreste von Front- und Backbuffer ( Page Flip ).

  • This Vorgang Eentspricht VSync = off:
    Der Swap- Wert wird direkt bei Beichtung der Berechnungen im Backbuffer 1 gesetzt und damit Front- und Backbuffer vertauscht. Dabei kann es sumannannten Tearing kommen, bei dem das Monitorbild abgebildet wird. Es bleibt Backbuffer 2 bei dieser Kombination ungenutzt. Dreifachpufferung ohne VSync ist somit Resourceverschwendung.
  • Dieser Vorgangentsprints VSync = on:
    Decrets im Backbuffer 1 sind abgeschlossen und es wurde bereits mit dem Rendern des nächstfolgenden Bildes im Backbuffer 2 gestartet. Jetzt folgt die Umsetzung des Swap- Effekts. Dort Neuer Frontbuffer (ehemaliger Backbuffer 1) enthält als fertig berechnetes Bild und wird auf dem Monitor ausgegeben. Im keinem Backbuffer 1 (ehemals Backbuffer 2) fand die Berechnung des nächsten Frames statt. Der Neue Backbuffer 2 (ehemals Frontbuffer) wurde gelöscht und steht zur weiteren Verwendung bereit.

Doppelpufferung und VSync

Durch den Einsatz von VSync wird der Swap- Button, der Front- und Backbuffer tauscht, so lange nicht umgesetzt, bis das aktuelle Bild aus dem Frontbuffer auf dem Bildschirm dargestellt wurde. Ist die Berechnung des Frames im Backbuffer abgeschlossen, muss die GPU zum nächsten VSync warten, um mit dem nächsten Frame weiterzumachen. Die effektive Rechenzeit pro Bild ist immer gleich oder ein ganzes Vielfaches der Zeit, die der Monitor zum Anzeigen eines Bilds benötigt. Wenn die Bildrate der GPU ebenfalls verfügbar ist, steht die effektive Bildrate auf dem Bildschirm der Monitor-Bildrate zur Verfügung (da die GPU nicht für VSync oder Nicht mit dem Rendern des Bilds verfügbar ist). Wenn unter der Hälfte liegt, sie ein Drittel der Monitorbildrate

Dreifachpufferung und VSync

Durch einen weiteren Backbuffer kann die Bildrate der Monitore von der GPU erfasst werden. Wenn ein Bild fertiggestellt ist, muss die GPU nun nicht mehr warten, bis der Swap-Befehl ausgeführt wird und direkt von im Backbuffer weiterarbeiten. Beim Auftreten des Swap-Befehls wurden auch Backbuffer und Backbuffer befragt. Sie haben auch keinen Leistungsverlust gegenüber dem Ungepufferten Fall.

Vor- und Bearbeitung von Dreifachpufferung und VSync

Vorteile

  • optimale Bildqualität, da kein Tearing auftritt (Grafikgrafik, wenn während der Bildausgabe mehrere neue Bilder verwendet werden)
  • Ausgezeichneter Leistungsverlust

Nachteile

  • Der Framebuffer ist ca. 50% grün wie die Doppelpufferung.
  • niedrig (maximal über die Dauer eines Frames)

Schreibe einen Kommentar