Question

Je suis en train d'optimiser une table triables j'ai écrit. Le goulot d'étranglement est dans la manipulation de dom. Je crée actuellement de nouvelles lignes de table et de les insérer chaque fois que je trier le tableau. Je me demande si je pourrais être en mesure d'accélérer les choses en réorganisant les lignes simples, ne pas recréer les nœuds. Pour ce faire une différence significative, noeud dom réagencement devrait être beaucoup souplement que la création de nœuds. Est-ce le cas? Merci, -Morgan

Pas de solution correcte

Autres conseils

Je ne sais pas si la création ou manipulation est plus rapide, mais je sais que ce sera plus rapide si vous manipuler toute la table quand il est pas sur la page, puis placez-le sur tout à la fois. Le long de ces lignes, il sera probablement plus lente à réarranger les lignes existantes en place à moins que la table entière est retirée du DOM premier.

Cette page suggère que ce serait le plus rapide de cloner la table en cours, le manipuler comme vous le souhaitez, remplacer la table sur les DOM.

Je dessine ce tableau deux fois plus rapidement maintenant, en utilisant innerHTML, la construction de tout le contenu sous forme de chaîne, plutôt que d'insérer des nœuds un par par.

Vous trouverez peut-être cette page à portée de main pour quelques points de repère:

http://www.quirksmode.org/dom/innerhtml.html

si vous le pouvez, il est préférable de faire la manipulation de dom non comme la manipulation de dom réelle, mais comme une sorte de méthode dans votre script, puis manipuler le Royaume. Ainsi, plutôt que de faire ce qu'on appelle un repeindre sur chaque nœud unique, vous agglutiner ce qui aurait été votre repeindre sur chaque nœud unique dans sa propre méthode, puis attacher les noeuds dans un parent qui serait alors attaché à la dom réelle, ce qui en seulement deux au lieu de centaines repeint. Je dis deux b / c vous devez nettoyer ce qui est dans le Royaume déjà avant la mise à jour avec vos nouvelles données.

Je cherchais une réponse à cette question et a décidé de mettre en place une référence rapide http: // jsFiddle .net / wheresrhys / 2g6Dn / 6 /

Il utilise jQuery, donc n'est pas un point de repère pur, et il est probablement biaisé aussi d'autres façons. Mais le résultat donne est que le déplacement des noeuds DOM est environ deux fois plus vite que la création et dom detroying nœuds chaque fois

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top