Einzelnen Beitrag anzeigen

Benutzerbild von Phoenix
Phoenix
(Moderator)

Registriert seit: 25. Jun 2002
Ort: Hausach
7.640 Beiträge
 
#23

Re: VST mit ca. 50.000 Datensätze verdammt langsam, warum???

  Alt 8. Dez 2009, 13:03
Nein Insbesondere bei GetText wäre es contraproduktiv.
BeginUpdate / EndUpdate schaltet das Neuzeichnen des Trees aus. Das benutzt man immer dann, wenn man Große Veränderungen am Baum macht.

Mit Deinem Code hast Du nicht nur das Neuzeichnen (was extrem viel Zeit kostet) nicht ausgeschaltet, sondern mit ProcessMessages auch noch forciert. Das macht die Ganze Operation extrem Langsam, weil der Baum bei jedem Hinzufügen neu Zeichnet und bei 50.000 mal einen Sekundenbruchteil zeichnen macht halt in Summe schon ne stange Zeit.

Also: BeginUpdate / EndUpdate nur um Massenänderungen (Baum komplett Laden, Sub-Bäume löschen / Hinzufügen) benutzen. UNd dann bitte Application.ProcessMessages auch weglassen.

Wenn die Operation dann immernoch regelmäßig mehr als 2 oder 3 Sekunden dauert kannst Du Dir überlegen, ein kleines 'Ich lade...' Fenster modal anzuzeigen und nach der Operation wieder auszublenden.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat