(Interaktive) Echtzeitgrafik beginnt (vereinfacht) zu flackern, wenn die Hardware nicht mehr schnell genug ist, die Grafik schneller als der Rasterstrahl zu zeichnen.
Double-Buffering
In diesem Fall benutzt man zwei Screens, die man hin- und herzeigt, um auf dem nicht-gezeigten Screen zu zeichnen. Mehr dazu findet sich hier > Dies ist ein Verfahren, das bei einem Grossteil der Anwendungen eigentlich keine Rolle spielt, da vieles Tools sind.
Games und Double-Buffering
Anders im Gamebereich – hier gilt das Flackern als „Sünde“ (Todo: Gibt es Spiele, die mit grossflächigem Flackern arbeiten als Gamemechanik? Mission Impossible?). Denn – es zerstört offensichtlich die ‚Immersion‘ und deutet auf ein techniches System hin. Es wird als Störung gedeutet.
Computer wie der Atari ST etwa besitzen gar keine Hardwaresprites und so muss alles per Software (Prozessor) erledigt werden. Was nichts anderes heisst, als meist per DoubleBuffering.
Interessanterweise haben die meisten Gamehardwares/Consolen aber einen Bereich, der keine Rechenzeit benötigt, weil die Hardware das macht. Es sind das Hardware-Chips für Sprites und etwa Scrolling. Dies gehören zum Standard bei Consolen. Und je nach Hardware kommt die Hardware mit flackerfreien 8,20,30 Sprites daher.
Der Amiga (auch als Gamehardware konzipiert) besitzt für 1985 eigentlich ungenügende 8 Sprites. Und so bleibt den Entwicklern* nichts anderes übrig, als den Blitter zu benutzen. Und damit auch wohl oder übel – bei hohem Workload, auch DoubleBuffering zu benutzen. Im Folgenden sieht man den Blitter (sehr ungetimed = man könnte das auch besser machen) ohne Double Buffering. Dabei wird der Screen im gesamten überschrieben und danach werden die Objekte darüber gezeichnet. Selbstverständlich ist der nächste Schritt nur noch die betroffenen Bereich zu überschreiben, was das Flackern deutlich verkleinert.
Diesselbe Szene mit GesamtscreenLöschen und DoubleBuffering:
Vorteile Blitter
Selbstverständlich hat der Blitter auch massive Vorteile gegenüber Sprites. Diese sind meist eingeschränkt in Breite oder Höhe oder beides. Hier ist der Blitter das Gegenteil, er arbeitet mit offenen Breiten und Höhen – kann also auch grosse Flächen bedienen. Allerdings muss der Gamedev* die gesamte Verwaltung dieser Objekte selbst erledigen: das heisst Zeichnen, Restoren und Verwalten der Objekte oder die „Kollisionen“.