Hilfe

BackBuffer

B2D B+ B3D

Aufruf

Id = BackBuffer()

Parameter

-


Rückgabewert

Wert, der die Identität angibt


Beschreibung

Diese Funktion liefert einen Zahlenwert, der die Identität des Grafikbuffers angibt. In BlitzBasic gibt es nur zwei Bildschirmbuffer - das sichtbare Frontbuffer und das unsichtbare Backbuffer

Der ermittelte Wert kann mit vielen weiteren Befehlen verwendet werden. Wird es z.B. mit SetBuffer verwendet, so erfolgt die Grafikausgabe zuerst auf einer unsichtbaren Bildschirmseite. Erst nach dem Flip-Befehl wird die Grafik dann sichtbar. Dies ist besonders bei Spielen praktisch, ja sogar notwendig, um eine ruhige und ruckelfreie Grafik zu erstellen. Diese Methode nennt man Pageflipping.



Wird ein Grafikfenster nicht im Vollbild angezeigt, so übernimmt Windows das Pageflipping der Grafik von BackBuffer (siehe Flip).

Die Bildschirmseiten werden nicht einfach kopiert, sondern vertauscht. Um den unschönen Flimmereffekt zu verhindern, muss man das Bild immer komplett neuzeichnen.

Bei Pageflipping kann es zu unterschiedlichen Programmgeschwindigkeiten kommen. Man kann es so erklären: Stell dir vor du hast einen Monitor, der 100x pro Sekunde das Bild aufbaut. Dein neuer PC schafft sogar wahnsinnige 200 Bilder pro Sekunde. Aber dein uralter Rechner kann nur 50 Bilder liefern. So, nun wird das Spiel auf dem schnellen PC 100x aufgebaut (Bildschirmgrenze), auf dem alten aber nur 50x !!! Um eine gleiche Geschwindigkeit zu erzeugen, muss man die Framerate runterdrosseln, die auch ein langsamer Rechner noch vernünftig schafft. Benutze dafür den Befehl CreateTimer. Danach muss man die Objekte mit einer neuen Geschwindigkeit bewegen lassen.


Beispiel

Standardbeispiel:

Dieses Programm zeichnet eine Linie auf Backbuffer, welche aber unsichtbar bleibt. Dann wird Frontbuffer aktiviert und ein Oval gezeichnet - es wird sofort sichtbar:

Graphics 640, 480, 0, 1
SetBuffer BackBuffer()
Line 0, 0, 639, 349
Waitkey()
Setbuffer FrontBuffer()
Oval 100, 100, 50, 50
Waitkey


Siehe auch

Flip, FrontBuffer, Graphics3D, ImageBuffer, LoadBuffer, SaveBuffer, SetBuffer

Übersicht 2D Grafik Grafik