2 Stimmen

Optimierung der Leistung von Ext.tree.TreePanel

Ich habe ein Ext.tree.TreePanel mit AsyncTreeNodes verwendet. Das Problem ist, dass zunächst der Root-Knoten muss mehr als 1000 Nachkommen haben. Ich habe es geschafft, die DB-Leistung zu optimieren, aber die JavaScript-Leistung ist schrecklich - 25 Sekunden für das Hinzufügen und Rendern von 1200 Knoten. Ich verstehe, dass die Manipulation der Seite DOM ist eine langsame Operation, aber vielleicht gibt es eine Möglichkeit, die anfängliche Rendering-Prozess zu optimieren.

3voto

Shea Frederick Punkte 439

Sie können eine benutzerdefinierte Baumknoten-UI erstellen, die einen geringeren DOM-Footprint hat. Mit anderen Worten: Ändern Sie den HTML-Code, der zum Erstellen der einzelnen Knoten des Baums verwendet wird, in einen weniger ausführlichen (und wahrscheinlich weniger flexiblen) HTML-Code.

Hier finden Sie einige Hinweise, wie Sie dies tun können:

http://github.com/jjulian/ext-extensions/blob/master/IndentedTreeNodeUI.js

http://david-burger.blogspot.com/2008/09/ext-js-custom-treenodeui.html

Viel Spaß!

1voto

Jason Punkte 1163

Ich glaube nicht, dass Sie viel Glück bei der Optimierung eines Baums mit so vielen Knoten haben werden. Gibt es eine Möglichkeit, die Informationen in einem Raster darzustellen? Damit könnten Sie zumindest ein Paging einrichten, und es wäre wahrscheinlich viel schneller. Sie könnten auch die Zeile Expander UX auf dem Raster, die wie ein Baum verhält, eine Art, für jede Zeile zu implementieren.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X