与其他浏览器相比,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解决了这个问题。 –