IE表现为大量项目

时间:2015-03-10 23:38:15

标签: javascript html performance internet-explorer

我比较了一些框架(即ReactJS和AngularJS)与" vanilla HTML + JS"之间的性能。在此过程中,我遇到了Internet Explorer绝对糟糕的表现(我已经在IE9和IE11中进行过测试,他们都表现出性能问题,但不同)。

原始代码是HTML文件,但为了在此处共享,我已将其移至JSFiddle。如果您愿意,我可以将其作为GitHub Gist发布。

无论如何,目标是渲染一个包含5,000个项目的表格(代表文件和文件夹)。在我的测试机器上,IE11在初始渲染时大约需要30秒,而Chrome / Safari / Firefox则在1.5-3秒范围内。如果我看一下生成HTML字符串需要多长时间(甚至不是DOM操作),IE11上只有15秒,实际渲染时只有15秒。

关于我做错了什么的任何想法?一旦想要查看实际结果,请务必将sampleSize从100更改为5,000:

var sampleSize = 100;

var sampleSize = 5000;

注意:这是我为提高绩效所做的工作:

  • 将每行的字符串连接更改为使用末尾带有.join('')的数组,这是IE的已知性能问题
  • 只有一个带$(tblBody).html(nodes.join(''));的DOM访问,而不是一次追加一行

上述两项增强功能使初始渲染时间从36秒降至30秒。

注2:代码是 f * ed up,因为它仍然比我的基于ReactJS或AngularJS的解决方案更快。所以主要的问题是:IE正在做什么?

0 个答案:

没有答案