Einzelnen Beitrag anzeigen

Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.202 Beiträge
 
Delphi 10.4 Sydney
 
#20

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

  Alt 25. Jun 2016, 18:03
Hier Dein Quelltext:
Wenn das dein Quellcode ist kannst du den Overhead des Eerzeugens und auf Parent-Setzen evtl. um ca. 90% beschleunigen wenn statt auf der Scrollbox alle Controls auf ein "Trägerpanel" erzeugt werden und diese dann der Scrollbox zugewiesen wird.

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;
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat