SDL: DoubleBuffer

Aus Wikibooks
Zur Navigation springen Zur Suche springen

Problem[Bearbeiten]

Da ich als Ziel dieses Wikibooks anstrebe, ein Beispielprogramm zu schreiben in der wir ein Bild bewegen können, muss ich hier noch auf das Double Buffering eingehen, da dieses für die Bewegung sehr wichtig ist. Denn wenn wir nachher versuchen würden ein Bild ohne Double Buffering zu bewegen würde es stark flimmern, da die UpdateRects Funktion schon während des Zeichnens die Ergebnisse ausgeben würde.

Lösung[Bearbeiten]

Um so etwas zu vermeiden hat man die Double Buffering Technologie erfunden. Nach dieser gibt es nämlich noch ein zweites Bildschirmsurface in welches erst gezeichnet wird. Danach wird das aktuelle Bildschirmsurface versteckt und das andere, auf das man gezeichnet hat, angezeigt. Und so tauschen sich die Oberflächen immer wieder ab (Flipping), nachdem man auf die Verdeckte gezeichnet hat. Dadurch ist man dann das Flimmern los und braucht nicht mal mehr andauernd bestimmte Bildschirmbereiche upzudaten, sondern kann ganz einfach den ganzen Bildschirm immer flippen.


<< Bunter Hintergrund | Inhaltsverzeichnis | Colorkeys >>