【发布时间】:2014-02-01 20:20:21
【问题描述】:
我们开发了一个 Web 应用程序,该应用程序在一个带有表格的有点花哨的界面中显示了相当多的数据。我无法显示该页面,但它有一个相当大的表格,在一个固定位置的元素内,有一些图像(大多数是小于 2KB 的图标、具有 alpha 透明度的 PNG,以及不超过 30 个不同的图像)。
它并没有那么重,页面中的元素少于 1000 个。它主要是在 Chrome 中开发的,并且在 Chrome 中可以完美运行。还有 IE11 和 IE10。
但在 IE9 中, 发生了: 是的,这就是 IE11,因为它提供了不错的分析工具。我正在使用 IE9 仿真,但在 IE9 模式下的 IE10 和“本机”IE9 也会出现同样的无响应,CPU 使用率很高 - 但内存使用率稳定。
以更轻松的方式,它也发生在 IE8 中: 但是重绘花费的时间要少得多(也许它会重绘页面的较小部分?)并且响应能力没有受到影响。
如您所见,没有脚本在运行,只是一些随机垃圾收集。在 IE10、IE11 和 Chrome 中不涉及重绘。
如果我禁用图像(在 IE10 中执行此操作,不知道如何在 IE11 中执行此操作),IE9 不会继续重新绘制,但是如果我通过禁用或隐藏所有图像它不断占用 CPU 的样式表。正如预期的那样,禁用硬件加速会使事情变得更糟。
什么可能导致 IE9(和部分 IE8)出现这种奇怪的行为?
【问题讨论】:
标签: html css internet-explorer internet-explorer-9