Domanda

Sto cercando di ottimizzare una tabella ordinabile che ho scritto.Il collo di bottiglia sta nella manipolazione del dom.Attualmente sto creando nuove righe di tabella e le inserisco ogni volta che ordino la tabella.Mi chiedo se potrei essere in grado di accelerare le cose semplicemente riorganizzando le righe, non ricreando i nodi.Affinché ciò possa fare una differenza significativa, la riorganizzazione del nodo dom dovrebbe essere molto più rapida della creazione del nodo.È così?Grazie -Morgan

Nessuna soluzione corretta

Altri suggerimenti

Non so se la creazione o la manipolazione è più veloce, ma so che sarà più veloce se si manipola l'intera tabella quando non è sulla pagina e poi metterlo su tutto in una volta. Lungo queste linee, probabilmente sarà più lento a ri-organizzare le righe esistenti in atto a meno che l'intera tabella viene rimosso dal DOM prima.

Questa pagina suggerisce che sarebbe stato più veloce per clonare la tabella corrente, manipolarla come si desidera, quindi sostituire il tavolo sul DOM.

sto disegnando questa tabella circa due volte più velocemente ora, utilizzando innerHTML, costruendo l'intero contenuto come una stringa, piuttosto che l'inserimento di nodi one-by-by.

È possibile trovare questa pagina utile per alcuni parametri di riferimento:

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

se è possibile, è meglio fare la manipolazione del DOM non come manipolazione del DOM reale, ma come una sorta di metodo all'interno dello script e quindi manipolare il DOM. Quindi, piuttosto che fare quello che viene chiamato un ridisegno su ogni singolo nodo, si ammassa la cosa sarebbe stata la tua riverniciare su ogni singolo nodo in un proprio metodo, e quindi collegare i nodi in un genitore che sarebbe poi attaccato al dom vero e proprio, con conseguente in soli due ridipinge invece di centinaia. Dico due b / c è necessario per ripulire ciò che è nel dom già prima di aggiornare con i nuovi dati.

Stavo cercando una risposta a questo e ho deciso di impostare un rapido benchmark http://jsfiddle.net/wheresrhys/2g6Dn/6/

Utilizza jQuery, quindi non è un puro benchmark e probabilmente è distorto anche in altri modi.Ma il risultato che fornisce è che lo spostamento dei nodi DOM è circa due volte più veloce rispetto alla creazione e alla distruzione dei nodi DOM ogni volta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top