![]() |
AW: TListview Aktualisierung durch Thread(s) optimieren?
Ich dachte ich kann keine direkte TStringliste an einen TListview übergeben?
|
AW: TListview Aktualisierung durch Thread(s) optimieren?
Zeig uns doch einfach Deinen Code (den relevanten Teil).
|
AW: TListview Aktualisierung durch Thread(s) optimieren?
Habe ich bereits in einem vorherigen Post getan :)
|
AW: TListview Aktualisierung durch Thread(s) optimieren?
Wie lange dauert folgendes:
Delphi-Quellcode:
Das ist die Zeit der GUI-Eintragen + Aktualisieren.
iCount := Handler.GetAllDataSets.Count;
for i := 0 to iCount - 1 do begin lvListItem := lv.Items.Add; lvListItem.SubItems.Add('Test'); lvListItem.SubItems.Add('Test2'); lvListItem.SubItems.Add('Test3'); end; |
AW: TListview Aktualisierung durch Thread(s) optimieren?
Ist GetAllDataSets etwa eine Funktion?
|
AW: TListview Aktualisierung durch Thread(s) optimieren?
@DeddyH: Ja. Ist das "böse"?
@Bernhard Geyer: 296ms Also ist das auch schonmal schlecht. Danke! |
AW: TListview Aktualisierung durch Thread(s) optimieren?
Dann setz einmal einen Haltepunkt in diese Funktion und schau, wie oft sie bei Abarbeitung des geposteten Codes durchlaufen wird.
|
AW: TListview Aktualisierung durch Thread(s) optimieren?
Auf die ListView sollte man besser nicht via thread zugreifen. (die VCL ist nicht threadsicher)
Man könnte aber im Hintergrund in einem Thread eine Liste zusammenstellen und dann im Hauptthread oder via Synchronize nur die Änderungen in der ListView anpassen. Geht natürlich schneller, als die aktuellen Items zu löschen und alles neu zu erstellen. Aber auch wenn man vorher nur alle Daten im Thread zusammenstellt und dann nur noch alles schnell in den TreeView reinkopiert, sollte es gehen (alles löschen und Items Anhand der vorher zusammengestellten Daten neu einfügen) Ansonsten würde ich eher den VirtualTreeView empfehlen, denn dieser arbeitet wesentlich schneller und bietet auch die Möglichkeit ganz schnell Nodes auszutauschen. Und was macht denn GetAllDataSets intern? |
AW: TListview Aktualisierung durch Thread(s) optimieren?
Danke für eure schnelle Hilfe!
@DeddyH: Danke für den eindeutigen Hinweis. Ich stand echt aufm Schlauch :oops: Jetzt habe ich die Struktur etwas geändert und sieheda < 150ms MfG dnub |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:43 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-2025 by Thomas Breitkreuz