【发布时间】:2014-12-17 19:24:03
【问题描述】:
这是一个非常奇怪的任何非常令人沮丧的问题,所以请耐心等待我的完整解释。
抢先说明:这不是关于如何提高 DOM/CSS 性能的问题。当您阅读挫折时,您会看到。
我们最近重新设计了跨浏览器的网站(例如 )
在经历了所有痛苦的 HTML 和 CSS 重构之后,我们认为一切都很好。然而,我们的网站具有相当重的 DOM,速度非常缓慢,以至于无法使用。示例:单击以选择一行需要 10 秒才能突出显示并选中其复选框。
挫折:
1) 这种迟缓并不普遍。只有 IE9 受此影响。 IE8、IE10、FireFox、Chrome 都快!
2) IE9 本身如果在调试器中更改为 IE8 文档模式会变得更快!但不是在它自己的 IE9 模式下。
3) 虽然我们注意到有些迟缓,但超级迟缓(到无法使用的程度)仅在特定机器上。
4) 当然,其中一台机器是客户端。
问题:
特定机器有什么独特之处会导致超级迟钝?什么会导致这些机器比其他机器遭受更多的痛苦?
我们检查的内容:
1) Windows 7 完全更新。
2) 我们没有安装 Windows 更新 KB2976627
3) 我们没有安装 Windows 更新 KB2670838
4) 禁用所有插件
5) 再次强调我们禁用了 Shockwave Flash Object。
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 位 内存:2 GB CPU:2.53 Ghz(2 个处理器)
操作系统:Windows 7 企业版 64 位 内存:8 GB CPU:2.67 Ghz(2 个处理器)
IE9版本:
9.0.8112.16421 64 位 IE9 更新版本:9.0.31 (KB2977629)
我们尝试卸载更新 KB2977629,但没有任何改进。
问题重复:
特定机器有什么独特之处会导致超级迟钝?什么会导致这些机器比其他机器遭受更多的痛苦?
【问题讨论】:
-
抱歉,如果您不包含解决方案中真正重要的部分,则该问题对其他人没有任何价值。一开始你使用哪些版本的jqGrid、jQuery UI和jQuery?下一个你如何使用jqGrid?你没有包含任何jqGrid选项的例子和您使用的回调。您至少可以在问题后面附加一个重现问题的演示的 URL。
-
无法提供真实的示例链接。我正在使用 JqGrid 4.5.2 - 但尽管它会降低性能 - 我不确定它是特定于 JqGrid 还是只是它是 DOM 的一个相当大的部分。我已经说过 DOM 和 CSS 很重。我们有大约 800 个 DOM 元素(其中 JqGrid 约为 300 个)和 3000 多个 CSS 规则(包括来自 jquery-ui 和 jqgrid)。是的,我知道,我知道不好。我们正在努力。但是您没有阅读我两次提到的问题。为什么 SPECIFIC 看似随机的 Win7 和 IE9 机器受苦,而大多数其他机器都还好(ish)?
-
我在我的问题中明确指出提高 DOM/CSS 效率不是目标。首先要了解Win7 IE9是怎么回事。你认为 JqGrid 的配置足以让这个问题变得无关紧要吗?
-
jqGrid 4.5.2 是旧的,但更新到 4.6.0 可能无法解决问题。不过,如果您可以在某些计算机上重现该问题,我建议您进行一项测试,将 jqGrid 4.5.2 临时替换为 4.6.0 以确保确定。 您仍然没有发布您使用的 jQuery UI 和 jQuery 版本吗? 无论如何,您应该在问题后面附上一个示例,该示例显示 如何填充 jqGrid。 至少需要一个显示您如何创建 jqGrid 的代码片段。
-
你应该明白jQuery 1.4.2是在IE8和FF 3.6的时候发布的。如果你想在当前版本中支持 IE9-IE11、Firefox、Chrome、Safari 和 Opera,你应该更新 jQuery。如果您需要支持 IE 6/7/8,那么它应该是 jQuery 1.11.1。如果你需要从 IE9 开始支持 IE,它应该是更快速更小的 jQuery 2.1.1。 关于jQuery和jQuery UI更新的评论有共同的性质,可能不是你遇到的主要问题。
标签: performance windows-7 jqgrid internet-explorer-9