Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Image bewegen (https://www.delphipraxis.net/62387-image-bewegen.html)

Jonas 3. Feb 2006 19:15


Image bewegen
 
Heya, ich habe zwar bei bei der Suche ähnliche Themen gefunden, aber keins was mir genau so weiter helfen könnte.
Mein Problem ist, ich bewege mehrere (2) Images mit einem Timer. Der Timer steht auf 1, trotzdem sind die Images in der Bewegen wesentlich zu langsam, was wohl daran liegt dass das Programm den vollen CPU (100%) frisst. Meine Frage ist nun, wie kann ich es dazu bringen dass es nicht mehr so viel CPU frisst und die Images sich schneller bewegen. Ich habe zwar gehört das TImages nicht für Bewegungsabläufe geeignet sind, jedoch kenne ich bisher keine andere Möglichkeit ein Image zu bewegen.

MisterNiceGuy 3. Feb 2006 19:25

Re: Image bewegen
 
Lass den Timer das Bild 2 oder mehr Pixel statt 1 Pixel bewegen, dann ist es schon doppelt so schnell.

Der_Unwissende 3. Feb 2006 19:35

Re: Image bewegen
 
Hi,
du musst nur kurz schauen was du machen möchtest. Wenn du die Zeit deines Timers auf 1 setzt, dann würdest du im Idealfall 1000 mal pro Sekunde deine Anzeige verändern. Für den recht unwahrscheinlichen Fall, dass dein Monitor mit unter 1000 Hz Refresh-Zyklus läuft, könntest du auch eine sinnvollere Zeit wählen. Also meine Flachbildschirme laufen mit 60 Hz, Flimmerfreie Fernseher laufen mit 100 Hz, das Menschliche Auge nimmt Veränderungen dabei deutlich träger war. Versuch es ruhig mal mit "nur" 25 ms oder so, könnte doch glatt noch reichen ;-)

Gruß Der Unwissende

Jonas 3. Feb 2006 20:26

Re: Image bewegen
 
Also mit 25 ms ist es genauso wie vorher.

Das mit den 2 Pixeln kann ich nicht machen. Es ruckelt ja schon bei 1 Pixel. Sobald ich es auf 2 setzte, fällt es um so mehr auf.

Ich denke das mit dem Ruckeln liegt daran, dass das Programm vollen CPU benutzt -> es ist extrem langsam. Wenn man das beheben könnte, müsste es doch an für sich schneller gehn?

Ich habe auch schon
Form1.DoubleBuffered := true;
gesetzt. Flackern tut es ja nicht, es *ruckelt* nur, also die bewegungen.

Jonas 11. Feb 2006 18:58

Re: Image bewegen
 
Keine ne Idee?

Christian Seehase 11. Feb 2006 19:10

Re: Image bewegen
 
Moin Jonas,

vielleicht geht's schneller wenn Du es mit Hier im Forum suchenBitBlt machst.
(Beispielsweise: Zeichnen auf Canvas)


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:43 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