【问题标题】:Raphael JS performance in Internet Explorer 8Internet Explorer 8 中的 Raphael JS 性能
【发布时间】:2011-12-11 04:01:25
【问题描述】:

Raphael 在 IE8 中的表现明显比在 IE7 或 IE6 中差。

示例: http://jsfiddle.net/t5NGF/

以上示例在 IE8 中的渲染速度比在 IE7 中慢近 10 倍。开启IE8兼容模式,性能匹配IE7。

为什么在使用 Raphael 时 IE8 比 IE7/IE6 慢那么多,有什么办法可以提高性能吗?

【问题讨论】:

    标签: internet-explorer internet-explorer-8 raphael


    【解决方案1】:

    很遗憾,您对此无能为力。

    Raphael 在大多数浏览器中以 SVG 呈现图形,但在 IE6、IE7 和 IE8 下运行时以 VML 呈现。 VML 是微软在 SVG 被定义为标准之前为 IE 创建的矢量图形语言。

    坏消息是 IE8 的 VML 引擎明显比 IE6 和 IE7 慢,而且 Raphael 中的某些功能特别严重地击中了这些慢点。 IE8 中的矢量图形性能很差。这只是一个不幸的事实。

    tip I found here 建议您可能可以通过将 IE8 设置为使用其 IE7 兼容模式来提高性能。我还没有尝试过,老实说,我犹豫是否建议这样做,因为不想使用兼容模式的原因有很多,但 Raphael 在 IE8 中表现不佳的很大一部分原因归结为 @ 987654322@ 是在 IE7 和 IE8 之间生成的。进入兼容模式可能会使浏览器切换到 VML 语言的 IE7 版本,从而避免这些问题。

    正如我所说,如果可能的话,我会尽量避免使用此选项,因为兼容模式存在很多问题,但如果您真的无法以任何其他方式使事情令人满意,您可以尝试一下.请注意,如果您确实使用此解决方案,请注意仅针对 IE8 激活它;如果可以避免的话,你真的不希望 IE9 或 IE10 进入 IE7 模式!

    【讨论】:

      【解决方案2】:

      正确的方法是

      <meta http-equiv="X-UA-Compatible" content="IE=7, IE=9">
      

      因为ie9已经实现了svg,所以如果你写:

      <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
      

      然后 ie9 下降到 ie7

      更多信息在Emulate IE7 for IE8 but not for IE9 using "X-UA-Compatible"

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-12-11
        • 1970-01-01
        • 1970-01-01
        • 2017-01-28
        • 2020-02-01
        相关资源
        最近更新 更多