【问题标题】:IE7 CPU spikes, script problems & debugging?IE7 CPU 峰值、脚本问题和调试?
【发布时间】:2011-10-15 07:16:05
【问题描述】:

我目前正在设计的网站可以在所有 mac 浏览器以及 Windows Firefox、Chrome 和 IE 8 中完美显示和运行。

我在 IE 7 中遇到了重大问题。虽然 CSS 几乎已经存在(需要进行一些调整),但该网站以 100% 的速度使我的 CPU 达到极限,使该网站几乎无法使用,并给我带来脚本错误和 javascript 功能无法正常工作。

我什至不知道从哪里开始尝试找出 CPU 最大的原因,或者如何获取有关脚本消息的更多信息 - 它告诉我问题所在的行,但它没有告诉我是什么文件。

我想提供一个链接,但客户要求我不要。

任何帮助将不胜感激。

谢谢

【问题讨论】:

  • 您是否在渲染任何 png 文件或在任何元素上设置不透明度或 alpha?如果是这样,IE 在渲染透明度方面做得很差。我整天都在与这类问题作斗争,所以我可能有偏见。
  • 是的,该网站几乎完全由透明 PNG 图像和 jquery 不透明动画构建而成!有什么办法解决这个问题?
  • 我决定放弃对 ie7 的支持并将重定向到“您的浏览器已过期”页面。
  • 我还没有真正找到稳定的解决方法。似乎唯一“稳定”的解决方案是从 CSS 中删除 alpha 和不透明度。

标签: javascript jquery internet-explorer cpu-usage


【解决方案1】:

这个问题很可能是由 ie 糟糕的 png 渲染能力引起的。在我所经历的情况下,我们使用 jquery ui 1.8.7 呈现模式对话框,每次打开对话框时都会看到内存使用量激增 6-8 兆。事实证明,罪魁祸首是默认 jquery 样式中的不透明度和 alpha CSS 设置。有关可能的部分修复,请参阅 this 帖子。

其他需要注意的事项包括:

似乎有许多修复程序试图解决这个issue

Jquery 1.8.16 部分修复了仅在打开第一个对话框时才会发生大内存跳转的问题。

我们还通过将单个像素 png 设置为模态背景进行了实验,这种单个像素的渲染导致 IE 使用的内存达到 80 兆,并导致 CPU 使用率暂时达到峰值。

另一个特殊的观察是,如果我们将 jquery 对话框的模态值设置为 false,并通过附加一个背景设置为半透明 png 的 div 来创建我们自己的模态背景,则内存泄漏似乎更小。

简而言之,就是停止使用透明 png 以及 IE 中的不透明度和 alpha 设置来渲染。

【讨论】:

    猜你喜欢
    • 2014-12-01
    • 2010-10-03
    • 1970-01-01
    • 1970-01-01
    • 2016-05-01
    • 2011-05-29
    • 2010-09-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多