Animationsprogrammierung

Flackern und andere Bildstörungen

Diese enstehen in der Regel dadurch, dass ein Programm den Bildinhalt ändert während er gleichzeitig auf den Monitor übertragen wird. Hier hilft sog. Double-Buffering.

Flüssige Bewegung

Das menschliche Auge nimmt auch kleine Unregelmäßigkeiten einer Bewegung als unnatürlich, ruckelig und störend wahr. Programme mit ruckeligen Bewegungen wirken daher unschön und stümperhaft. Auch wenn diese ansonsten technisch sehr gut sind.

Man liest gelegentlich den Tip, Double-Buffering einzusetzen wenn die Bewegungen ruckeln. Das bringt meist wenig. Double-Buffering sorgt nicht für eine flüssige Bewegung. Man benötigt in der Regel eine synchronisierte Bildausgabe. Genauer sollte gelten:

Viele Gui-Bibliotheken unterstützen keine Bildsynchronisation. Mit ihnen ist es nahezu unmöglich, verlässlich ruckelfreie Bewegungen darzustellen. Dazu gehört auch Java Swing, mit Ausnahme des Full-Screen-Modus.

OpenGL eignet sich sehr gut für Animationen. Jedoch erfordert dies ggf. einen hohen Einarbeitungsaufwand.


Tags: Animations-Programmierung Flackern Ruckeln Stottern Double-Buffering Bildsynchronisation Vsync Java OpenGL

Copyright 2019 Raoul Naujoks, Braunschweig, Deutschland