AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Performance Problem - viele VCL Komponenten!
Thema durchsuchen
Ansicht
Themen-Optionen

Performance Problem - viele VCL Komponenten!

Ein Thema von weisswe · begonnen am 22. Aug 2011 · letzter Beitrag vom 23. Aug 2011
Antwort Antwort
Seite 2 von 3     12 3      
Tryer

Registriert seit: 16. Aug 2003
200 Beiträge
 
#11

AW: Performance Problem - viele VCL Komponenten!

  Alt 22. Aug 2011, 23:15
Ist Panel.AutoSize vielleicht True? Das würde bei jeder Inhaltsänderung ggf. ein Resize auslösen und damit die Neuberechnung?

Grüsse, Dirk
  Mit Zitat antworten Zitat
QuickAndDirty

Registriert seit: 13. Jan 2004
Ort: Hamm(Westf)
1.944 Beiträge
 
Delphi 12 Athens
 
#12

AW: Performance Problem - viele VCL Komponenten!

  Alt 23. Aug 2011, 00:55
Ich habe die Erfahrung gemacht das TMS einfach langsam zeichnet...wenn man mal die TAdvButtons nimmt...oder TShader oder TadvGrid die können einfach zu viel Feuerwerk....und die werden in Massen dann wirklich sehr sichtbar hintereinander gezeichnet....
Ist eben nur GDI+
Die Verhalten sich auf starren masken dann auch einfach besser als auf resizeable Forms!
Andreas
Monads? Wtf are Monads?
  Mit Zitat antworten Zitat
Benutzerbild von cookie22
cookie22

Registriert seit: 28. Jun 2006
Ort: Düsseldorf
936 Beiträge
 
Delphi XE2 Professional
 
#13

AW: Performance Problem - viele VCL Komponenten!

  Alt 23. Aug 2011, 04:25
...Es würde ja schon besser "aussehen", wenn man die einzelnen Button Aufbauzyklen nicht sehen würde.
Wie z.b.
+ Panel beginUpdate -> einfrieren
+ zeichne alle Komponenten
+ Panel endUpdate -> zeigen!

:-/
Versuch mal das Ganze mit AlphaBlend := True; und AlpahaBlendvalue = 0; zu zeichnen und setz es dann auf AlphaBlend := False; . Dann sollte zu mindest nicht zusehen sein, wie die Buttons gezeichnet werden.
Gruß
Cookie
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#14

AW: Performance Problem - viele VCL Komponenten!

  Alt 23. Aug 2011, 05:57
Für den Anwendungszweck wäre es vielleicht sinnvoll die Komponenten selbst zu zeichnen. Eben ohne x separate Komponenten. Damit hatte ich selbst mit hunderten Elementen keinerlei Performanceprobleme.

Wie das geht siehst du hier, wenn auch dort (weil es nur ein Beispiel sein sollte) nicht sonderlich gut optimiert, insbesondere nicht was neue Features aktueller Delphiversionen angeht:
http://www.delphipraxis.net/901617-post.html
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.276 Beiträge
 
Delphi 10.4 Sydney
 
#15

AW: Performance Problem - viele VCL Komponenten!

  Alt 23. Aug 2011, 06:07
Hallo,

ich würde es erst einmal mit normalen TButtons versuchen.
Und ist es immer noch zu langsam, ein Panel und selbermalen.
Viell. geht ja auch ein TDrawGrid, kommt auf die Sitzpositionen an.


Heiko
Heiko
  Mit Zitat antworten Zitat
FredlFesl

Registriert seit: 19. Apr 2011
293 Beiträge
 
Delphi 2009 Enterprise
 
#16

AW: Performance Problem - viele VCL Komponenten!

  Alt 23. Aug 2011, 07:29
Liegts vielleicht an der lahmen Grafikkarte?
1,5s ist doch schon sehr happig. Ich bezweifle, das ein TDrawGrid hier großartig Abhilfe schaffen würde.
Das Bild hängt schief.
  Mit Zitat antworten Zitat
Neumann

Registriert seit: 6. Feb 2006
Ort: Moers
536 Beiträge
 
Delphi 12 Athens
 
#17

AW: Performance Problem - viele VCL Komponenten!

  Alt 23. Aug 2011, 07:32
Habe die gleiche Erfahrung mit den TMS-Buttons gemacht. Habe Panels mit bis zu 200 Buttons für Touchoberfläche und muss mit Anwendern mit sehr schwacher Hardware rechnen.
Bei einer größeren Zahl TMSSmoothButtons auf einem Panel bzw. auf einer Seite eines Pagecontrols bauen sie sich sehr langsam auf, wenn die Seite sichtbar gemacht wird uns sind deshalb leider für mich nicht brauchbar.

Verwende jetzt andere (TcyADVSpeedButtons) die von der Optik ebenfalls sehr gut und flexibel sind, aber wesentlich schneller gezeichnet werden.

Ein weiteres Problem ist wohl auch die dynamische Erstellung. Anscheinend braucht create viel Zeit. Es scheint besser zu sein, beim Programmstart einen Vorrat (z.B. Array 1..100 of txbtn) anzulegen und dies dann später sichtbar/unsichtbar schalten, zu beschriften oder zu verschieben usw.
Ralf
Gruß vom Niederrhein
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#18

AW: Performance Problem - viele VCL Komponenten!

  Alt 23. Aug 2011, 08:48
Ein weiteres Problem ist wohl auch die dynamische Erstellung. Anscheinend braucht create viel Zeit.
Naja, es werden halt alle (?) anderen Komponenten per Notify informiert, je mehr das sind, desto länger dauert es.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#19

AW: Performance Problem - viele VCL Komponenten!

  Alt 23. Aug 2011, 08:53
Ein weiteres Problem ist wohl auch die dynamische Erstellung. Anscheinend braucht create viel Zeit.
Naja, es werden halt alle (?) anderen Komponenten per Notify informiert, je mehr das sind, desto länger dauert es.
So isses und darum sollte man bei so einer grossen Anzahl das in einer eigenen Komponente selber zeichnen oder als Image auf den Bildschirm klatschen. (@jaenicke hattest du ja auch schon vorgeschlagen)

Auch die Erstellung von mehreren stinknormalen Buttons (Button) dauert seine Zeit und man kann beim Aufbau zuschauen.
Ist jetzt noch ein langsamer Rechner/GraKa im Spiel, dann wird das nicht witzig.

Wenn das für einen Kinosaal sein soll, dann sprechen wir ja mal locker von 100-800 Buttons
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#20

AW: Performance Problem - viele VCL Komponenten!

  Alt 23. Aug 2011, 09:01
dafür würde ich eh keine Buttons nehmen
Markus Kinzler
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 19:53 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