![]() |
große Images verlangsamen das Programm?
Hiho,
Ich hab auf meinem Formular ein kleines Image(ca 25*25 Pixel) und ein großes Image(ca. 1024*120 oder größer Pixel(natürlich mit bild drin)). Nun bewegen ich das kleine Image per Timer in eine bestimmte Richtung(alle 10 Millisek. 2 Pixel nach rechts z.B). Ohne das große Image bewegt sich das kleine Image viel schneller übers Formular, als wenn noch das große Image drauf ist. Wieso ist das so? Ich mach doch nichts mit dem größeren Image, es ist einfach nur da. Kann man das irgendwie vermeiden?? |
Re: große Images verlangsamen das Programm?
So ganz verstehe ich dein problem nicht, du könnste aber bei den Images "DoubleBuffered" auf True setzen,
damit das ganze nicht mehr Flackert. Versuch mal das ganze ohne Delphi mit der Compalierten exe zu starten, kann sein das es so scheneller läuft. Ansonsten frage ich mich was du mit solch ein riesen bild ohne eine Funktion machen willst??? |
Re: große Images verlangsamen das Programm?
Zitat:
|
Re: große Images verlangsamen das Programm?
Also doublebuffered brauche ich sicher nicht, da das Bild nicht flackert. Ansonsten brauch man sone großen Bilder zum Beispiel als Hintergründe auf dem Formular! Aber ich will nur wissen, wie sich das kleine Bild trotzdem genauso schnell bewegt, wie als wenn das große Bild nicht da ist(wohlgesagt mit Timer).
@ supermuckel: kann man das neuzeichnen abschalten? denn das is ein meinem Fall sinnlos. Oder es wenigstens einstellen, das er nur neu zeichnet, wenn irgendwas übermalt wurde? |
Re: große Images verlangsamen das Programm?
Zitat:
was wird mit einem timer bewegt ? ist es der selbe timer, falls beide bewegt werden ? haben beide timer, falls es nicht nur einer ist, die selbe zeiteinstellung ? steht ein bild und das andere wird nur bewegt? wenn ja, welches ? was verwendest du? Timage ? Paintbox ? bitblt funktionen ? |
Re: große Images verlangsamen das Programm?
Das große Image bewegt sich nicht! das kleine Image bewegt sich, jedoch nicht über das große Image. das kleine Image wird mit einem Timer beweget(nur 1 Timer), undzwar z.B nach rechts. das Intervall beträgt 50 Millisekunden und da soll sich das Image jeweils 2 Pixel nach rechts bewegen. Das heißt, das große Bild bleibt völlig unberührt, es ist einfach nur still auf dem Formular. Und ich benutze Timage.
|
Re: große Images verlangsamen das Programm?
jo.
das hintergrundbitmap muss entweder ganz oder nur an der verdeckten stelle neugezeichnet werden ich glaub aber, das es komplett neugezeichnet wird und das jedes mal wenn das kleine verschoben wird den rest kannste dir ja dann denken, wenn das hintergrundbild groß ist und dementsprechend viel zeit zum anzeigen braucht :) |
Re: große Images verlangsamen das Programm?
Das ist doch mist! wieso wird das Bild sinnlos neugezeichnet und vorallem, wenn sich ein anderes Bild bewegt? Heißt das, dass man nie nen Hintergrundbild verwenden kann für irgendwelche Anwenedungen, wo sich was bewegt oder auch bei anderen Sachen? :(
|
Re: große Images verlangsamen das Programm?
hi,
wenn du doublebuffered noch nicht probiert hast, tu es es könnte dir bei deinem problem helfen anderer ansatz; du teilst das hintergrundimage in mehrere kleinere auf. evtl wird dann nur der teil des hintergrundbildes neu gezeichnet, der unter dem bewegten image liegt. MfG tn249 |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:03 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz