Einzelnen Beitrag anzeigen

alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#19

Re: TreeView mit 200.000 Einträge und nachladen

  Alt 25. Jan 2006, 09:32
Zitat von generic:
ich glaube nicht das das windows control treeview
Doch doch, das klappt. Das "Problem" ist die Datenstruktur, damit man schnell alle Kind-Einträge eines Unterknotens findet. Das gleiche Problem tritt bei der VST von Lischke auf.

Derzeit habe ich eine Verzögerung von 200-300ms (PM 1.5Ghz) bei jedem Klick, wenn der Knoten noch nicht befüllt wurde), bei 200.000 Einträgen. Das ist schon ganz ordendlich. Man kann es auf fast 0ms Verzögerung reduzieren, wenn man die Baum-Information geeignet ablegt. Dann geht das Suchen sehr schnell.

Die Bottlenecks lassen sich auf zwei Routinen reduzieren:
1. Ist ein Texteintrag ein Kindknoten eines vorgegeben Knotens?
2. Existieren für einen Knoten überhaupt Kinder?

Wenn die Bauminformation so gespeichert wird, das der Index des Vaters für jeden Knoten mit abgespeichert wird, dann kann man (1) vernachlässigen.
Wenn die Anzahl der Kinder auch gespeichert wird, dann wird auch (2) vernachlässigbar.

Beide Optimierungsmöglichkeiten sind in dieser Demo nicht berücksichtigt. Man könnte es aber ohne Weiteres einbauen. Ich würde die Baumdaten auch nicht als Text, sondern als geeignete Struktur ablegen (in einem Stream, z.B.) dann geht das Laden und Suchen sehr schnell, eigentlich ohne Verzögerung.
Angehängte Dateien
Dateityp: zip virtualtree32_674.zip (238,3 KB, 9x aufgerufen)
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat