【问题标题】: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 模式!