3

다른 브라우저와 비교하여 IE9는 실행 시간이 매우 긴 this script (for dynamic manipulation of DOM)을 실행합니다. 나는 호기심이 많다. 차세대 리치 애플리케이션의 실행 속도에 어떤 영향을 미칩니 까? 이 반복 테스트 이외에 실제 웹 앱 예제와 관련하여 성능 차이를 확인할 수 있습니까? 또한 JS 엔진이나 레이아웃 엔진에 문제가 있습니까?IE9 + : DOM 처리 중 성능이 좋지 않음

업데이트 :

문제는 IE10 RTM에서 해결되었습니다.

+1

IE10 미리보기는 더 빠르고, FWIW –

+0

동의! 이것은 매우 이상하고 탁월한 성능 저하의 예입니다 (Safari의 ~ 0.140s 대 ~ 44s). 나는 이것이 실제 세계와 차세대의 풍부한 웹 어플리케이션에 어떻게 영향을 미칠 것인가? IE9 + 브라우저에 대한 지원을 고려하면서 좋은 사례를 고안 할 수 있습니다. –

+0

@DaveMarkle,이 문제는 IE10 RTM에서 해결되었습니다. –

답변

1

사용 :

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

docucmentfragments를 사용하면 코드가 크게 향상됩니다. – Raynos

+0

감사합니다. 사실, 성능 문제는 testAppend 함수가 아닙니다. testRemoveFrag 함수의 구현을 자세히 설명 할 수 있다면 매우 유용 할 것입니다. :-) –

+1

@vulcan DOM에서 DIV를 분리합니다. 하위 요소를 제거하십시오. DIV를 다시 DOM에 연결하십시오. DOM을 조작하여 "off-DOM"을 수행하고, 가능한 한 실제 DOM에 닿지 않도록하는 것이 아이디어입니다. –

관련 문제