AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Delphi-Controls sind bei großen Mengen langsam

Ein Thema von luisk · begonnen am 25. Jun 2016 · letzter Beitrag vom 25. Jun 2016
Antwort Antwort
Seite 1 von 3  1 23   
Benutzerbild von luisk
luisk

Registriert seit: 18. Mär 2009
402 Beiträge
 
#1

Delphi-Controls sind bei großen Mengen langsam

  Alt 25. Jun 2016, 09:18
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.

Geändert von luisk (25. Jun 2016 um 09:20 Uhr)
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.919 Beiträge
 
Delphi 10.4 Sydney
 
#2

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

  Alt 25. Jun 2016, 09:25
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.
Daniel R. Wolf
mit Grüßen aus Hamburg
  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
 
#3

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

  Alt 25. Jun 2016, 09:29
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).
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
Benutzerbild von jfheins
jfheins

Registriert seit: 10. Jun 2004
Ort: Garching (TUM)
4.579 Beiträge
 
#4

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

  Alt 25. Jun 2016, 09:39
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 ...
  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
 
#5

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

  Alt 25. Jun 2016, 09:43
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
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
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.169 Beiträge
 
Delphi 10.4 Sydney
 
#6

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

  Alt 25. Jun 2016, 09:50
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).
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.169 Beiträge
 
Delphi 10.4 Sydney
 
#7

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

  Alt 25. Jun 2016, 09:52
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
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.
Windows Vista - Eine neue Erfahrung in Fehlern.
  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
 
#8

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

  Alt 25. Jun 2016, 09:59
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
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
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
Benutzerbild von jaenicke
jaenicke

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

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

  Alt 25. Jun 2016, 10:05
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
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.169 Beiträge
 
Delphi 10.4 Sydney
 
#10

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

  Alt 25. Jun 2016, 10:13
Wenn ich jetzt die Haarspalter-Axt heraushole dann ist das auf der Mobile Seite Paging
Stimmt natürlich. Ist ein anderer Lösungsansatz um das Problem zu lösen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23   

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 17:12 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