AGB  ·  Datenschutz  ·  Impressum  







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

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
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.213 Beiträge
 
Delphi 10.4 Sydney
 
#1

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

  Alt 25. Jun 2016, 15:53
Das Control heiß TDBCtrlGrid.

Hier Dein Quelltext:
Delphi-Quellcode:
for i:=1 to 5000 do begin
   l_Layout:=TLayout.create(scrollbox1);
   l_Layout.Parent:=scrollbox1;
    :
    create_Content(l_Layout);
end;
Ich sage, sowas sollte ein modernes System können.
Kann es auch: TDBCtrlGrid.

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.

Dass das Problem bei den Windows-Handles liegt ist schon klar.
Der Ansatz ist ja auch nicht sinnvoll.
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.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#2

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

  Alt 25. Jun 2016, 16:25
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
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.213 Beiträge
 
Delphi 10.4 Sydney
 
#3

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

  Alt 25. Jun 2016, 16:39
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.
Da im Beispiel die Controls dynamisch erzeugt werden hilft eine solche Einschränkung nicht.
Und komplexere Anwendungen mit VB (nicht VB.NET) sind m.E. Fail by Design.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#4

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

  Alt 25. Jun 2016, 17:07
Zitat:
Und komplexere Anwendungen mit VB
Jemals schon versucht? Denke du redest von Hörensagen.
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:
m.E. Fail by Design.
Sind bei mir Anwendungen (wenn auch nur als Beispiel) mit 5000 Scrollbars.

gruss

Geändert von EWeiss (25. Jun 2016 um 17:11 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.213 Beiträge
 
Delphi 10.4 Sydney
 
#5

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

  Alt 25. Jun 2016, 17:35
Zitat:
Und komplexere Anwendungen mit VB
Jemals schon versucht? Denke du redest von Hörensagen.
Hab schon mit diversen Systemen (u.a. Access-VB, VS mit MFC) zu tun gehabt.
Glücklicherweise nicht tiefergreifend mit VB direkt sondern ich konnte hier doch wieder ein vernünftige Lösung wie Delphi nehmen

Ich meinerseits habe eine Komplexe Anwendung in VB6 geschrieben und verwende sie noch heute.
Wie definierst du Komplex?
Implementierungszeit >> 1 Mannmonat.


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.
Nicht unbedingt. Für viele Anwendungen würde diese Anzahl an Control den normalen Anwender überfordern.
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:
m.E. Fail by Design.
Sind bei mir Anwendungen (wenn auch nur als Beispiel) mit 5000 Scrollbars.
Das sicherlich auch.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
EWeiss
(Gast)

n/a Beiträge
 
#6

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

  Alt 25. Jun 2016, 17:41
Zitat:
ich konnte hier doch wieder ein vernünftige Lösung wie Delphi nehmen
Warum dann nicht direkt C++.
Delphi war dann wohl die 3 Wahl ? "Vernünftige" ist wohl relativ.


Zitat:
Hier 256 als harte Grenze zu haben wäre kontraproduktiv.
Dann sollte man sich aber über den langsamen Aufbau einer Anwendung nicht wundern.

Das wäre dann auch Kontraproduktiv..
Aber gut jedem seine Meinung.

gruss
  Mit Zitat antworten Zitat
Benutzerbild von luisk
luisk

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

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

  Alt 25. Jun 2016, 18:20
Das Control heiß TDBCtrlGrid.
Ich habe Delphi 10 Seatle, Professional with mobile.
Da ist diese Komponente nicht vorhanden.

Ich bau mir jetzt alles über TGrid zusammen. Da stimmt die Performance.
TGrid (FMX) hatte ich glatt übersehen. Hatte nach TDrawGrid (VCL) gesucht.

Geändert von luisk (25. Jun 2016 um 18:28 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.213 Beiträge
 
Delphi 10.4 Sydney
 
#8

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

  Alt 25. Jun 2016, 18:27
Das Control heiß TDBCtrlGrid.
Ich habe Delphi 10 Seatle, Professional with mobile.
Da ist diese Komponente nicht vorhanden.
http://docwiki.embarcadero.com/Libra...ds.TDBCtrlGrid
Ob es das auch unter FMX gibt weiß ich nicht.
Windows Vista - Eine neue Erfahrung in Fehlern.
  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 10:57 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz