AW: Delphi-Controls sind bei großen Mengen langsam
Zitat:
https://www.devexpress.com/Support/C...etails/Q477685 https://www.google.de/webhp?sourceid...control+delphi Hier Dein Quelltext:
Delphi-Quellcode:
Ich sage, sowas sollte ein modernes System können.
for i:=1 to 5000 do begin
l_Layout:=TLayout.create(scrollbox1); l_Layout.Parent:=scrollbox1; : create_Content(l_Layout); end; Dass das Problem bei den Windows-Handles liegt ist schon klar. |
AW: Delphi-Controls sind bei großen Mengen langsam
Zitat:
http://www.delphipraxis.net/attachme...odmainform.png Sowas sollte man mit Standard-Controls aufbauen können. Wenn es nicht geht, sehe ich einen gravierenden Designfehler in den Komponenten. (meine Meinung. Jeder kann ja seine eigene Meinung haben :wink:) |
AW: Delphi-Controls sind bei großen Mengen langsam
Schön, dass es sachlich zugeht. :thumb:
Das Thema an sich finde ich schon interessant. Ich hatte in der Richtung auch schon mal einen Thread: http://www.delphipraxis.net/175033-f...-schlecht.html Dass die VCL mit tausenden Controls nicht umgehen kann, kann ich schon nachvollziehen. Windows-Controls sind dafür halt nicht ausgelegt und das VCL-Konzept hat ja schon ein paar Jahre auf dem Buckel. Von FMX hätte ich mir seinerzeit mehr erhofft. Ok, man sollte keine 100.000 Controls erzeugen und zeichnen, aber ein paar hundert sollten machbar sein. Große Datenmengen sollten automatisch virtualisiert werden, so dass man sich darum als Entwickler nicht kümmern muss. Dass bei meinen Versuchen damals komplette existente Datenlisten in Listencontrols kopiert wurden hat mich sehr verwundert. Klar kann man das umgehen, aber das bringt einen höheren Aufwand mit sich. (Bei meinem kurzen Ausflug nach Winforms und WPF schien das aber dort auch nicht besser geregelt zu sein.) Das war früher bei der BDE sehr gut gelöst. Man hat als Anfänger einfach eine Table an ein Grid gebunden und konnte in 1Mio Datensätzen flüssig scrollen. Ich will natürlich nicht die BDE zurück, aber das genannte Handling wäre schon erstrebenswert. EDIT: Um gleich einzulenken, natürlich scrollt niemand durch 1Mio Datensätze, aber es mach schon einen Unterschied, ob ich als Entwickler mal eben eine große Tabelle an ein Grid binden kann oder ob die GUI oder das ganze Projekt dabei in die Knie geht. |
AW: Delphi-Controls sind bei großen Mengen langsam
Zitat:
Zitat:
Aber wenn du das obige 1:1 auf die Web/HTML-Lösung umsetzt wirst du da auch Probleme kommen. Wir selbst kennen das primär beim IE der auch mit der letzten Version bei vielen HTML/CSS-Elementen teilweise sehr langsam wird. Zitat:
Was sillst du mit 5000 erzeugten TLayout-Instanzen. Sichtbar sind wie viele davon? Über eine Virtualisierungs-Ansatz reicht es 10 Instanzen zu haben und für die anderen nur "Platzhalter" in der Scrollbar damit die Position korrekt ist. Und nur wenn die Scrollbar an der entsprechenden Position ist laden die Controls den entsprechenden Inhalt. |
AW: Delphi-Controls sind bei großen Mengen langsam
Bin mir nicht sicher ob es sinn macht Controls generell in der IDE zu limitieren.
Aber MS hat sich schon etwas dabei gedacht für die IDE in VB6 die Controls auf 256 zu beschränken. Mehr geht halt nicht somit kam so eine Frage gar nicht erst auf. Virtualisierung hingegen in WPF ist schon schnell. gruss |
AW: Delphi-Controls sind bei großen Mengen langsam
Zitat:
Und komplexere Anwendungen mit VB (nicht VB.NET) sind m.E. Fail by Design. |
AW: Delphi-Controls sind bei großen Mengen langsam
Zitat:
Ich meinerseits habe eine Komplexe Anwendung in VB6 geschrieben und verwende sie noch heute. Wie definierst du Komplex? Abhängig von den verwendeten (der menge an) Controls. 256 sind 256 es spielt dabei keine rolle ob dynamisch oder nicht. (VB6) Und ja ich sehe es als sinnvoll an diese zu beschränken. Ich denke bei einer Verwendung von mehr.. dann liegt ein Design Konzept, problem vor. Zitat:
gruss |
AW: Delphi-Controls sind bei großen Mengen langsam
Zitat:
Glücklicherweise nicht tiefergreifend mit VB direkt sondern ich konnte hier doch wieder ein vernünftige Lösung wie Delphi nehmen Zitat:
Zitat:
Spezialanwendungen aber die z.B. über Großleindwände/Zig HD-Bildschirme laufen kann eine entsprechend Anzahl von Control nötig sein. Hier 256 als harte Grenze zu haben wäre kontraproduktiv. Zitat:
|
AW: Delphi-Controls sind bei großen Mengen langsam
Zitat:
Delphi war dann wohl die 3 Wahl ? "Vernünftige" ist wohl relativ. Zitat:
Das wäre dann auch Kontraproduktiv.. Aber gut jedem seine Meinung. gruss |
AW: Delphi-Controls sind bei großen Mengen langsam
Zitat:
5000 Edits auf Scrollbox direkt erzeugen: 18,5 Sekunden Verhindern neuzeichnen Srollbox mit WM_SETREDRAW: 10 Sekunden Edits auf Trägerpanel erzeugen: 2,5 Sekunden Das sind die Zeiten über Remote Desktop. Evtl. läuft das direkt schneller. Meine "Business-Code" hierzu war:
Delphi-Quellcode:
for i := 0 to 5000 do
begin ctrl := TEdit.Create(ScrollBox1); ctrl.Parent:=scrollbox1; ctrl.Text := 'Herbert ' + i.ToString(); ctrl.Top := i * 24; ctrl.Left := 16; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06: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