Double Buffering

Double Buffering

Doppelpufferung (englisch double buffering) beschreibt ein Konzept in der Computergrafik, bei dem der Framebuffer (Bildspeicher) des Video-RAM bei Grafikkarten in zwei Bereiche unterteilt wird. Ziel des Verfahrens ist die Gewährleistung einer kontinuierlichen Bildfrequenz ohne Flackern.

Bevor Doppelpufferung eingeführt wurde, unterteilte man den Framebuffer nicht. Bildberechnung und Monitorausgabe fanden also parallel statt. Damit schwankte die Bildfrequenz je nach Szenenkomplexität und das Bild flackerte. Dies entsteht, wenn während der Ausgabe noch in den gleichen Framebuffer geschrieben wird.

Inhaltsverzeichnis

Funktionsweise

Der Framebuffer des Grafikkartenspeichers wird in Front- und Backbuffer unterteilt. Während durch den RAMDAC der Frontbuffer ausgelesen und auf den Bildschirm dargestellt wird, berechnet die GPU im Backbuffer das nächstfolgende Bild. Nach Abschluss dieser Berechnung ist die Ausführung des Swap-Befehls - das ist die Vertauschung der Speicheradressen von Front- und Backbuffer (Page Flip) - abhängig von VSync.

  • Bei deaktiviertem VSync wird der Tausch sofort vollzogen, unabhängig davon, wie weit der RAMDAC mit der Bilddarstellung aus dem Frontbuffer ist. Der Kathodenstrahl, der das Monitorbild erzeugt, beginnt aber nicht von vorn. Dieser fährt an der Stelle fort, wo er vor dem Puffertausch aufgehört hat. Das führt dazu, dass ein auf dem Monitor dargestelltes Bild zum Teil aus mehreren aufeinanderfolgenden Teilbildern zusammensetzt ist. Diesen Effekt nennt man Tearing.
  • Bei aktiviertem VSync wird mit dem Vertauschen solange gewartet, bis der RAMDAC die Darstellung des aktuellen Bildes aus dem Frontbuffer beendet hat. Dies wird mit dem VSync-Signal angezeigt. In der Zwischenzeit kann keine neue Bildberechnung stattfinden, weil die Ergebnisse in keinem freien Puffer abgelegt werden können. Damit wird die Leistungsfähigkeit der Grafikkarte künstlich reduziert. Dieses Problem wird bei der Dreifachpufferung (triple buffering) durch Einführung eines weiteren Backbuffers kompensiert.

Nach Ausführung des Swap-Befehls (dem Tausch von Front- und Backbuffer) beginnt der ganze Zyklus wieder von vorn.

Vor- und Nachteile von Doppelpufferung

Vorteile

  • flüssiger und ruckelfreier Bildaufbau

Nachteile

  • deaktiviertes VSync führt besonders bei hoher Bildfrequenz zu Tearing
  • aktiviertes VSync führt zum Teil zu hohem Performanzverlust
  • doppelte Framebuffergröße gegenüber einfacher Pufferung

Wechselpuffertechnik

In anderen Bereichen (vor allem in Echtzeit-Anwendungen) wird die Doppelpufferung als Wechselpuffertechnik bezeichnet. Ein Wechselpuffer entspricht einem Ringpuffer mit zwei Plätzen (Erzeuger-Verbraucher-Problem).


Wikimedia Foundation.

Игры ⚽ Нужно сделать НИР?

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Double Buffering —   [dt. »doppelte Pufferung«], eine Technik zur beschleunigten Darstellung von komplizierten Grafiken auf dem Bildschirm mithilfe eines Pingpong Puffers, die v. a. von 3D Bildschirmkarten genutzt wird.   Dabei wird das Bild zunächst im freien Teil …   Universal-Lexikon

  • Double buffering — In computer science, double buffering (or ping pong buffering) is a widely used technique for minimizing the delay (flicker) in input/output operations which use a buffer. Single buffering is affected by buffer underrun and buffer overflow.… …   Wikipedia

  • Double buffering — Doppelpufferung (englisch double buffering) beschreibt ein Konzept in der Computergrafik, bei dem der Framebuffer (Bildspeicher) des Video RAM bei Grafikkarten in zwei Bereiche unterteilt wird. Ziel des Verfahrens ist die Gewährleistung einer… …   Deutsch Wikipedia

  • double buffering — dvigubasis tarpinis kaupimas statusas T sritis radioelektronika atitikmenys: angl. double buffering vok. doppelte Pufferung, f rus. двойная буферизация, f pranc. tamponnage double, m …   Radioelektronikos terminų žodynas

  • double buffering — n. technique used to diminish or remove visible objects from the drawing process (Computers); double partitioning …   English contemporary dictionary

  • double buffering — ● ►en loc. m. ►AFFICH Technique d affichage d animation dans laquelle on utilise deux tampons, l un affiché et l autre sur lequel on travaille. Quand une image est prête, on affiche le buffer la contenant et on se met au travail sur l autre… …   Dictionnaire d'informatique francophone

  • Multiple buffering — In computer science, multiple buffering is the use of more than one buffer to hold a block of data, so that a reader will see a complete (though perhaps old) version of the data, rather than a partially updated version of the data being created… …   Wikipedia

  • Triple buffering — In computer graphics, triple buffering is a variant on double buffering, a technique for drawing graphics that shows no (or less) flicker, shearing, and tearing artifacts.Triple buffering attempts to provide a speed improvement over double… …   Wikipedia

  • Triple Buffering — Die Dreifachpufferung (englisch triple buffering) beschreibt ein Konzept in der Computergrafik, bei dem der Framebuffer des Video RAM bei Grafikkarten auch Rahmenpuffer genannt in drei Bereiche unterteilt wird. Ziel des Verfahrens ist es, die bei …   Deutsch Wikipedia

  • Triple buffering — Die Dreifachpufferung (englisch triple buffering) beschreibt ein Konzept in der Computergrafik, bei dem der Framebuffer des Video RAM bei Grafikkarten auch Rahmenpuffer genannt in drei Bereiche unterteilt wird. Ziel des Verfahrens ist es, die bei …   Deutsch Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”