这是一个非常奇怪的任何非常令人沮丧的问题,所以请耐心等待我的全面解释。
预备注意:这不是如何改善DOM / CSS性能的问题。当你看到挫折时,你会看到。
我们最近将网站重新设计为跨浏览器(例如<!DOCTYPE html>)
在完成所有痛苦的HTML和CSS重新分解之后,我们认为事情很好。然而,我们的网站拥有相当重的DOM,令人难以置信的缓慢到无法使用。示例:单击以选择一行需要10秒,直到它突出显示并选中其复选框。
挫折:
1)这种迟缓并不普遍。只有IE9会受此影响。 IE8,IE10,FireFox,Chrome都很快!
2)IE9本身如果在调试器中更改为IE8文档模式变得快速!但不是在自己的IE9模式下。
3)虽然我们注意到一些迟缓,但SUPER的缓慢(到了无法使用的地步)只在特定的机器上。
4)当然,其中一台机器是客户。
问题:
特定机器可能有什么独特之处导致超级迟缓?什么可能导致这些机器比其他机器遭受更多的痛苦?
我们检查过的事情:
1)Windows 7完全更新。
2)我们没有安装Windows更新KB2976627
3)我们没有安装Windows更新KB2670838
4)禁用所有附加组件
5)再次强调我们禁用了Shockwave Flash对象。
6)尝试在Internet选项中禁用“软件渲染”,以便使用GPU。
7)降低Windows显示质量设置以获得最佳性能。
其他形容:
当显示区域变小时,响应性增加。当浏览器窗口本身变小或部分拖动到屏幕边界外时会发生这种情况。此外,当DOM元素被删除/隐藏时,性能也会提高。
DynaTrace显示了大量花在渲染上的时间。
网页内容:
只有:HTML,CSS2,JavaScript,JQuery,简单的图像。
JqGrid 4.5.2
JQuery 1.4.2
JQuery-UI 1.8.2
以下内容不存在:Flash,视频,CSS3,加载的第三方网络内容。
已尝试的机器:
操作系统:Windows 7 Enterprise N 64位 RAM:2 GB CPU:2.53 Ghz(2个处理器)
操作系统:Windows 7企业版64位 RAM:8 GB CPU:2.67 Ghz(2个处理器)
IE9版本:
9.0.8112.16421 64位 IE9更新版本:9.0.31(KB2977629)
我们尝试卸载更新KB2977629但没有任何改进。
重复提问:
特定机器可能有什么独特之处导致超级迟缓?什么可能导致这些机器比其他机器遭受更多的痛苦?
答案 0 :(得分:0)
我发现了解释。正如我担心的那样,当我说出原始问题时,JQGrid是一种分心(红鲱鱼)。真正的原因在另一个stack overflow article回答。
简而言之,我们的页面包含许多圆角(即边框半径)样式。并且IE9中存在一个错误,导致渲染引擎窒息。一旦这个样式被删除,一切都很快!
这也解释了为什么IE8浏览器甚至使用IE9与IE8文档模式都很快。 IE8不支持border-radius,所以它不属于这个问题。