3

Par rapport aux autres navigateurs, IE9 exécute this script (for dynamic manipulation of DOM) avec une durée de fonctionnement très longue. Je suis curieux; de quelle manière cela aurait-il un impact sur la vitesse d'exécution des applications riches de prochaine génération? En dehors de ce test itératif, y a-t-il un exemple de webapp lié au monde réel, où l'on peut observer la différence de performance? En outre, est-ce le problème avec leur moteur JS ou le moteur de mise en page?IE9 +: performances médiocres lors du traitement de DOM

Mise à jour:

Le problème est résolu dans IE10 RTM.

+1

IE10 Preview est pas plus rapide, FWIW –

+0

Je suis d'accord! C'est un exemple très étrange et excellent de mauvaise performance (~ 0.140s de Safari vs ~ 44s). Je me demande comment et combien cela aurait-il un impact sur le monde réel et les applications Web riches de prochaine génération? Nous pouvons donc concevoir de bonnes pratiques tout en considérant le support des navigateurs IE9 +. –

+0

@DaveMarkle, ce problème est résolu dans IE10 RTM. –

Répondre

1

Utilisation:

function testAppendFrag(div) { 
    var docFrag=document.createDocumentFragment(),i=count; 
    while(i--){ 
     docFrag.appendChild(document.createElement("div")); 
    } 
    div.appendChild(docFrag.cloneNode(true)); 
} 
+0

L'utilisation de docucmentfragments améliorerait considérablement le code. – Raynos

+0

Merci. En fait, le problème de performance n'est pas lié à la fonction testAppend. Serait très utile si vous pouvez élaborer l'implémentation de la fonction testRemoveFrag. :-) –

+1

@vulcan Détache le DIV du DOM. Supprimez les éléments enfants. Attachez la DIV au DOM. L'idée est d'effectuer une DOM-manipulation "off-DOM", ergo, pour toucher le DOM-live aussi peu que possible. –

Questions connexes