Best Practice Schnelleres Rendern

Hallo liebe Java-Freunde,

Ich habe ein kachelbasiertes Spiel. Das läuft auch. Allerdings verschlingt das zeichnen der BufferedImages (jede Kachel ist eins) mit abstand am meisten Rechenleistung.

Gibt es eine bessere Möglichkeit den Inhalt eines BufferedImages auf den Bildschirm zu kriegen?

Aktuell zeichne ich per g.drawImage() auf ein Canvas, welches einem JFrame geaddet wurde.

Danke für das Lesen schonmal! :)
 

javampir

Bekanntes Mitglied
ich weiß nicht ganz, was du mit kachelbasiertem spiel meinst.
aber, wenn sich die kacheln nicht ändern, kannst du sie alle auf ein neus bufferedimage zeichnen (einmalig) und dann nur ein einzelnes bufferedimage in der paintmethode zeichnen.
 

RalleYTN

Bekanntes Mitglied
Du musst ein neues BufferedImage mit der Größe des Canvas erstellen(Wenn sich Größe des Canvas verändert muss erneut initialisiert werden). Dann nimmst du dier das Graphics Objekt des neuen BufferedImage und malst alles darauf. danach malst du das Bild mit dem Graphics Objekt aus der paint Methode. Diese Rendering Methode nennt man Double Buffering....... glaube ich.......... falls ich es richtig beschrieben habe........... :confused:
 

Neue Themen


Oben