Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi-Controls sind bei großen Mengen langsam (https://www.delphipraxis.net/189569-delphi-controls-sind-bei-grossen-mengen-langsam.html)

luisk 25. Jun 2016 09:18

Delphi-Controls sind bei großen Mengen langsam
 
Feststellung:
Delphi-Controls sind bei großen Mengen langsam.
Das sollte man dem Stand der Technik anpassen.
Selbst bei CSS in Webbrowsern kann man sehen, dass es schneller geht.

Daniel 25. Jun 2016 09:25

AW: Delphi-Controls sind bei großen Mengen langsam
 
Mal Butter bei Fische.
Welche Controls und wie viele Daten? Welche Antwortzeiten werden als langsam erachtet, welche als schnell? Wir können nicht im leeren Raum diskutieren - wenn wir hier eine ernsthafte Diskussion führen wollen, dann brauchen wir eine gemeinsame konkrete Ausgangslage.

Sir Rufo 25. Jun 2016 09:29

AW: Delphi-Controls sind bei großen Mengen langsam
 
Er sprach von 3000 Sublayouts mit ein paar Controls in einer Scrollbox.

Den gleichen Effekt habe ich aber unter C# Windows.Forms auch. Ohne Virtualisierung geht es nicht (schneller) und die gewrappten Windows-Controls können das nicht (mehr ist so ein Edit, Label, Button unter VCL/Windows.Forms nämlich nicht).

jfheins 25. Jun 2016 09:39

AW: Delphi-Controls sind bei großen Mengen langsam
 
Windows allgemein wird langsam, wenn man zu viele Fenster öffnet. Der Delphi Overhead kommt da natürlich noch drauf, aber swo irre viel wird das jetzt auch nicht sein.
Zum Beispiel gibt es das Limit mit 10000 Fenstern pro Prozess, darüber winkt Windows mit dem Zaunpfahl, dass etwas nicht stimmt ^^

Wenn man wirklich so irre viel Zeug anzeigen will, dann darf man nicht zu allem ein Handle generieren. Vll. ein paar Links: https://blogs.msdn.microsoft.com/old...11-00/?p=36473 https://blogs.msdn.microsoft.com/old...15-00/?p=36183

Ich müsste mal gucken, wie sich eine WPF Listbox mit 3000 Elementen verhält .... WPF ist ja eigentlich nicht für extreme Performance bekannt ...

Sir Rufo 25. Jun 2016 09:43

AW: Delphi-Controls sind bei großen Mengen langsam
 
Zitat:

Zitat von jfheins (Beitrag 1341084)
Ich müsste mal gucken, wie sich eine WPF Listbox mit 3000 Elementen verhält .... WPF ist ja eigentlich nicht für extreme Performance bekannt ...

pornoschnell ... wenn man mit der Virtualisierung arbeitet :stupid:

Bernhard Geyer 25. Jun 2016 09:50

AW: Delphi-Controls sind bei großen Mengen langsam
 
Zur info für Andere: Vordiskussionen erfolgten in anderen Thread: "wann gibt es in Delphi einen NAMESPACE wie in c#"


Zum Problem:
Ich vermute (Beispielprogramm steht noch aus - habe ich schon zwei mal angefragt) das der Programmiertechnische Ansatz falsch ist.

Wenn ich eine Datenmenge von tausenden Datensätzen und für jeden Datensatz z.B. 3 Edits, 2 Images und 1 Memo benötige wird Delphi (bzw. Windows) die Grätsche Machen wenn ich versuche tausende diese Controls auf einer Scrollbox anzulegen.


Sinnvoll ist es wie es ja mittlerweile bei Delphi seit einigen Jahren gibt ein "Repeater-Control" zu haben, auf das ich diese Controls lege und dieses Control sorgt dafür das die aktuell angezeigten Datensätze auch in Edits/Images/... visualisiert werden.

Das wäre dann das Gegenstück zum Paging bei HTML-Lösungen.

Macht man das nicht macht Delphi/Windows dir grätsche. Genauso macht der Browser ebenfalls dir grätsche wenn man diese 1000 Bilder in einem HTML-Dokument zum Client bringt (Von der höheren Renderingzeit abgesehen).

Bernhard Geyer 25. Jun 2016 09:52

AW: Delphi-Controls sind bei großen Mengen langsam
 
Zitat:

Zitat von Sir Rufo (Beitrag 1341085)
Zitat:

Zitat von jfheins (Beitrag 1341084)
Ich müsste mal gucken, wie sich eine WPF Listbox mit 3000 Elementen verhält .... WPF ist ja eigentlich nicht für extreme Performance bekannt ...

pornoschnell ... wenn man mit der Virtualisierung arbeitet :stupid:

Und genau diese Virtualisierung macht z. B. das Beispiel von Mobile auch. 20 Datensätze werden angezeigt und der Rest gar nicht aufbereitet und zum Client übertragen.
Aber diese Virtualisierung bekommt man auch in Delphi sehr schnell hin bzw. wird ja mit dem TDBCtrlGrid direkt "codeless" unterstützt.

Sir Rufo 25. Jun 2016 09:59

AW: Delphi-Controls sind bei großen Mengen langsam
 
Zitat:

Zitat von Bernhard Geyer (Beitrag 1341089)
Zitat:

Zitat von Sir Rufo (Beitrag 1341085)
Zitat:

Zitat von jfheins (Beitrag 1341084)
Ich müsste mal gucken, wie sich eine WPF Listbox mit 3000 Elementen verhält .... WPF ist ja eigentlich nicht für extreme Performance bekannt ...

pornoschnell ... wenn man mit der Virtualisierung arbeitet :stupid:

Und genau diese Virtualisierung macht z. B. das Beispiel von Mobile auch. 20 Datensätze werden angezeigt und der Rest gar nicht aufbereitet und zum Client übertragen.

Wenn ich jetzt die Haarspalter-Axt heraushole dann ist das auf der Mobile Seite Paging :stupid:

jaenicke 25. Jun 2016 10:05

AW: Delphi-Controls sind bei großen Mengen langsam
 
So viele Controls funktionieren nirgends gut, weder bei Java, noch bei C# noch bei Delphi. Und das liegt eben daran, dass das Problem nicht die Performance bei so vielen Controls ist, sondern das Konzept, das so viele Controls benötigt.

Wenn ich zum Beispiel für die Anzeige meines Periodensystems für jede Anzeige jeweils ein TLabel usw. verwendet hätte, wäre das auch bei weitem nicht so schnell. Und es würde auch schlechter aussehen.
Dort siehst du wie man so etwas zum Beispiel einfach selbst zeichnen kann:
http://www.delphipraxis.net/132375-p...-beta-6-a.html

Bernhard Geyer 25. Jun 2016 10:13

AW: Delphi-Controls sind bei großen Mengen langsam
 
Zitat:

Zitat von Sir Rufo (Beitrag 1341092)
Wenn ich jetzt die Haarspalter-Axt heraushole dann ist das auf der Mobile Seite Paging :stupid:

Stimmt natürlich. Ist ein anderer Lösungsansatz um das Problem zu lösen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:02 Uhr.
Seite 1 von 3  1 23      

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