Zum neuen Informatik-Forum >>
 FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen   RegistrierenRegistrieren   ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin 

Applet

 
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Informatikerboard.de Foren-Übersicht -> Java/JSP
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
SirWayne
Gast





BeitragVerfasst am: 28. März 2006 16:55    Titel: Applet Antworten mit Zitat

Könnte mir jemand kurz erklären was dieser kleine Programmauschnitt macht...

Code:
   
...
Image buffer;
Graphics2D gBuffer;

    public void paint(Graphics g) {

        // Double-Buffering
        if (buffer==null) {
            buffer=createImage(this.getSize().width, this.getSize().height);
            gBuffer=(Graphics2D)buffer.getGraphics();
        }
        gBuffer.clearRect(0,0,this.getSize().width, this.getSize().height);

...


Danke....
Nach oben
TMSearcher



Anmeldungsdatum: 19.05.2005
Beiträge: 270
Wohnort: Bremen

BeitragVerfasst am: 28. März 2006 18:21    Titel: double buffering Antworten mit Zitat

Hi,
hier wird das „double buffering“ vorbereitet. Double buffering ist notwendig damit man saubere grafische Animationen oder Bewegungen durchführen kann. Wird es nicht eingesetzt kommt es zu einem sog. tearing oder flickering (zerreißen der Animation), das ganze sieht dann sehr unruhig und besch... aus. Der Effekt entsteht durch den Bildwechsel des Monitors zusammen mit dem Zeichnen des Bildes. Beim double buffering wird die Grafik zuerst in einen Hintergrundpuffer geschrieben, während der Bildwechselpause wird dann der Grafikspeicher mit dem Hintergrundbuffer getauscht und man hat schlagartig ein neues Bild und die Zeit bzw. der Zeitpunkt des Zeichnens der Grafik spielt keine Rolle mehr.

Ich hoffe ich konnte mich einigermaßen verständlich ausdrücken, ich mal einfach einige Fachwörter (wie Vertikalaustastlücke, Strahlrücklaufzeiten, V-Sync, etc.) weggelassen.

So jetzt zu deinem Programmteil:
Die if Anweisung prüft ob bereits ein Hintergrundspeicher existiert, wenn nein wird einer angelegt der exakt der Größe und Dimensionen des Ausgabe-Screens hat. Anschließend wird Hintergrundspeicher gelöscht und damit für die neue Grafik vorbereitet – und dann ...

Gruß
TMS

Unter Wikipedia gibts auch noch einen Link dazu
http://de.wikipedia.org/wiki/Double_Buffering
Allerdings wird hier mehr die Hardwaretchnische Lösung beschrieben, die unter OpenGL und DirectX eingesetzt wird.

_________________
Intelligent life is so very rare,
the rarest thing in creation
and the most precious
This is Earth Calling..
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
SirWayne
Gast





BeitragVerfasst am: 10. Apr 2006 16:05    Titel: Antworten mit Zitat

Ja o.k versteh ich....
aber wenn ich Swing benutze brauch ich das nicht...auf jeden flackert es nicht.Denk mal das ist dann schon eingebaut
Nach oben
Beiträge der letzten Zeit anzeigen:   
Dieses Forum ist gesperrt, du kannst keine Beiträge editieren, schreiben oder beantworten.   Dieses Thema ist gesperrt, du kannst keine Beiträge editieren oder beantworten.    Informatikerboard.de Foren-Übersicht -> Java/JSP Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum nicht herunterladen