與其他瀏覽器相比,IE9執行時間非常長,執行this script (for dynamic manipulation of DOM)。我好奇;它將以什麼方式影響下一代豐富應用的執行速度?除了這個迭代測試之外,是否有任何相關的真實世界Web應用程序示例,我們可以在其中觀察性能差異? 另外,這是他們的JS引擎或佈局引擎的問題嗎?IE9 +:處理DOM時性能不佳
更新:
該問題已在IE10 RTM中解決。
與其他瀏覽器相比,IE9執行時間非常長,執行this script (for dynamic manipulation of DOM)。我好奇;它將以什麼方式影響下一代豐富應用的執行速度?除了這個迭代測試之外,是否有任何相關的真實世界Web應用程序示例,我們可以在其中觀察性能差異? 另外,這是他們的JS引擎或佈局引擎的問題嗎?IE9 +:處理DOM時性能不佳
該問題已在IE10 RTM中解決。
用途:
function testAppendFrag(div) {
var docFrag=document.createDocumentFragment(),i=count;
while(i--){
docFrag.appendChild(document.createElement("div"));
}
div.appendChild(docFrag.cloneNode(true));
}
使用docucmentfragments會顯着改善代碼。 – Raynos
謝謝。事實上,性能問題與testAppend函數沒有關係。如果可以詳細說明testRemoveFrag函數的實現,那將非常有用。 :-) –
@vulcan從DOM中分離DIV。刪除子元素。將DIV附加到DOM。這個想法是執行DOM-manipulation「off-DOM」,ergo,儘可能少地觸及實時DOM。 –
IE10預覽是沒有更快,FWIW –
我同意!這是非常奇怪和很差的表現(約0.140s的Safari vs 44s)。我想知道它會對現實世界和次世代豐富的網絡應用產生怎樣的影響?因此,我們可以在考慮支持IE9 +瀏覽器的同時設計出良好的實踐。 –
@DaveMarkle,IE10 RTM解決了這個問題。 –