AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Schneles Ändern von Image1.Picture

Ein Thema von Mikescher · begonnen am 23. Jan 2009 · letzter Beitrag vom 24. Jan 2009
Antwort Antwort
Benutzerbild von Mikescher
Mikescher

Registriert seit: 3. Jun 2008
Ort: Offenburg
265 Beiträge
 
Delphi 2009 Professional
 
#1

Schneles Ändern von Image1.Picture

  Alt 23. Jan 2009, 19:39
Hi,

Ich hab mal wieder ein Problemchen, ich hab auch schon hier im Forum gesucht und mir selbst fällt auch keine Lösung mehr ein.
Also ich hab eine Form auf der 400 (dynamisch erzeugte) TImage's liegen. Nun wird ca alle 200ms die Pictures der TImage's geändert wie zu erwarten war daas dann nicht mehr so flüssig wie ich es gern hätte .

Gibt es da eine andere Frage wie man die Pictures mit weniger CPU austauschen kann ?
(Hab schon statt LoadFromFile alle Bitmaps in Variablen gespeichert -> Hat aber nichts gebracht).

Ich bin auch offen für andere Komponente oder andere Möglichkeiten
(Hauptsache es geht dann irgendwie )

MfG Mikescher
Mike
Operation gelungen, Patient tot.

http://www.mikescher.com
  Mit Zitat antworten Zitat
Benutzerbild von Valle
Valle

Registriert seit: 26. Dez 2005
Ort: Karlsruhe
1.223 Beiträge
 
#2

Re: Schneles Ändern von Image1.Picture

  Alt 23. Jan 2009, 19:41
Nimm doch einfach eine Grafik-Engine (Andorra2d) und verwende Sprites. Die sind schnell und wirklich sehr einfach zu bedienen. Da hast du dich also schnell eingearbeitet!

Mit freundlichen Grüßen,

Valle
Valentin Voigt
BOFH excuse #423: „It's not RFC-822 compliant.“
Mein total langweiliger Blog
  Mit Zitat antworten Zitat
Benutzerbild von Mikescher
Mikescher

Registriert seit: 3. Jun 2008
Ort: Offenburg
265 Beiträge
 
Delphi 2009 Professional
 
#3

Re: Schneles Ändern von Image1.Picture

  Alt 23. Jan 2009, 20:41
Ja Andorra2D kenn ich und ich benutze es auch.

Aber ich wollte dieses Projekt eigentlich "selber" machen außerdem bin ich jetzt schon so gut wie fertig und hänge nur noch an dem Problem mit dem Changen der Pictures
(Und irgendwie muss Andorra2D das ja auch machen )

Außerdem glaube/hoffe ich dass das kein so großes Problem ist

MfG Mikescher
Mike
Operation gelungen, Patient tot.

http://www.mikescher.com
  Mit Zitat antworten Zitat
Benutzerbild von Dunkel
Dunkel

Registriert seit: 26. Mär 2007
Ort: Klingenstadt
541 Beiträge
 
Delphi 2007 Enterprise
 
#4

Re: Schneles Ändern von Image1.Picture

  Alt 23. Jan 2009, 20:51
Zitat von Mikescher:
(Und irgendwie muss Andorra2D das ja auch machen )

Außerdem glaube/hoffe ich dass das kein so großes Problem ist
Nö, Hardwarebeschleunigt ist das wahrscheinlich auch kein Problem.

Windows (das Canvas-Objekt, GDI, etc.) wurden halt nicht auf Spiele-Performance getrimmt, wo jedes Frame zählt. In einer "normalen" Büro-Applikation, wofür das nicht-beschleunigte Grafiksystem von Windows konzipiert wurde, kann es auch mal etwas gemächlicher zugehen.
Es ist zu wahr um schön zu sein...
  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Schneles Ändern von Image1.Picture

  Alt 23. Jan 2009, 20:56
Du solltest eine einzige große Paintbox statt der Images verwenden. Im OnPaint zeichnest du von einem vorab konstruierten Offscreen-Bitmap. Wenn sich die Bilder ändern, zeichnest du das Offscreen-Bitmap neu. Durch diese Technik kannst du die Zeichenoperationen auf dem Bildschirm auf ein Minimum reduzieren. Möglicherweise hilft auch schon die Eigenschaft DoubleBuffered des Formulars.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#6

Re: Schneles Ändern von Image1.Picture

  Alt 23. Jan 2009, 22:08
Zitat von Apollonius:
Im OnPaint zeichnest du von einem vorab konstruierten Offscreen-Bitmap. Wenn sich die Bilder ändern, zeichnest du das Offscreen-Bitmap neu.
Kleine Ergänzig, man muss das Offscreen-Bitmap dann natürlich noch auf den Canvas kopieren, sonst sieht man nichts.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#7

Re: Schneles Ändern von Image1.Picture

  Alt 23. Jan 2009, 23:30
Und das ist dann auch der Haken an der Geschichte, wenn das ein grossens Offscreen-Bitmap ist bringt es
auch wieder Leistungseinbußen.

(T)Images zu verwenden ist keine gute Idee da das zeichnen dieser mehr Zeit braucht. Diese
Komponente ist und war eigentlich nur zum statischen anzeigen von Bildern gedacht.

Alle Bilder nach Bitmaps wandeln und direkt mit BitBlt auf den Canvas bringen sollte genügen.
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
Benutzerbild von Mikescher
Mikescher

Registriert seit: 3. Jun 2008
Ort: Offenburg
265 Beiträge
 
Delphi 2009 Professional
 
#8

Re: Schneles Ändern von Image1.Picture

  Alt 24. Jan 2009, 15:03
Danke hat funktioniert

MfG Mikescher
Mike
Operation gelungen, Patient tot.

http://www.mikescher.com
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:44 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