Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi 2 Images übereinander flackern (https://www.delphipraxis.net/130397-2-images-uebereinander-flackern.html)

marius0702 7. Mär 2009 18:36


2 Images übereinander flackern
 
Ich habe ein Programm gemacht in dem 2 Images übereinander liegen.
Im hinteren Image läuft eine Animation die mit einem Timer (Interval=40) mit der Scanline methode gezeichent gezeichet wird (ka ob das wichtig ist :gruebel: ).
form1.doublebuffered hab ich auf true gestellt.
das Problem ist, dass das vordere Bild trotzdem Flackert. :wall:
Habt ihr ne Idee wie ich das weg kriegen kann?

_frank_ 7. Mär 2009 19:06

Re: 2 Images übereinander flackern
 
keine 2 Images verwenden ;)
male in ein hintergrundbitmap den aktuellen frame der animation und kopier das statische bild darüber, dann das ganze auf ein Canvas blitten

Gruß Frank

himitsu 7. Mär 2009 19:09

Re: 2 Images übereinander flackern
 
Zitat:

Zitat von _frank_
keine 2 Images verwenden ;)
male in ein hintergrundbitmap den aktuellen frame der animation und kopier das statische bild darüber, dann das ganze auf ein Canvas blitten

und Doublebuffered in diesem Fall abschalten (damit gibt es manchmal auch kleine Probleme)

marius0702 7. Mär 2009 20:34

Re: 2 Images übereinander flackern
 
ok danke hat funktioniert :thumb: . die cpu auslastung ist jetzt etwas höher aber da werde ich glaub ich nicht drum rumkommen. :mrgreen:

_frank_ 7. Mär 2009 21:34

Re: 2 Images übereinander flackern
 
sollte eigentlich nicht merkbar höher sein. stelle ggf. mal deinen Code hier rein, dann können wir mal nach Performance-Engpässen schauen.

Gruß Frank


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz