Java Spiel 2D Bild flackern

4 Antworten

Bei mir hat es erst geklappt als ich das zu Zeichnende zuerst in ein Bild gemalt habe und dieses dann auf den Bildschirm gezeichnet habe. Also Quasi manuelles dopple Buffering.

Das Double Buffering ist nichts anderes als die Umsetzung des Blittings (http://de.wikipedia.org/wiki/Blitting) und das ist die einzige Möglichkeit, das Flackern zu unterbinden. Mit einem "Double Buffering geht beim mir nicht" hast du also ultimativ verloren.

Entweder setzt du den Double Buffer falsch ein (darauf tippe ich) oder deine inneren Schleifen sind zu lange und nicht synchronisiert oder du brauchst eine eigene Blitting-Methode.

Woher ich das weiß:Hobby – private Programmiererei

Wenn du eine grafische Anwendung ohne Flackern programmieren willst, darfst du

NIEMALS

repaint() aufrufen.

verreisterNutzer  14.05.2018, 17:16

Wie soll mans sonst machen

0
PerfectMuffin  14.05.2018, 20:04
@verreisterNutzer

Vor 6 Jahren. WOW.

Problem mit repaint() ist, dass es standardmäßig vor dem Neuzeichnen den Bildschirm komplett leert, weshalb man immer Flackern zu Gesicht bekommt.

Am Besten zeichnet man direkt drüber.

Dieses Verhalten ist in Component nicht explizit dokumentiert, aber bei standardmäßiger Implementierung ist das, was passiert.

0

Das mit double buffering sollte das problem lösen => Sonst liegt bei dir iwo nen fehler. Hast es ma bei nem neuen projekt versucht?


quiz13 
Beitragsersteller
 05.05.2013, 23:35

ich habe nochmal drüber geschaut und keinen Fehler gefunden. Und Ja, es war ein neues Projekt

0