拉斐尔在IE8中的表现明显不如在IE7或IE6中的表现。
示例:http://jsfiddle.net/t5NGF/
上面的示例在IE8中的渲染速度几乎是在IE7中的10倍。激活ie8的兼容模式,性能与IE7相当。
为什么在使用拉斐尔时,IE8比IE7/IE6慢这么多,有什么方法可以提高性能吗?
发布于 2013-06-15 23:23:38
不幸的是,您对此无能为力。
对于大多数浏览器,拉斐尔可以在SVG中渲染图形,但当在IE6、IE7和IE8下运行时,可以在VML中渲染图形。VML是微软在SVG被定义为标准之前为IE创建的一种矢量图形语言。
坏消息是,IE8的VML引擎比IE6和IE7慢得多,而拉斐尔的某些特性对这些慢点的打击尤其严重。IE8中的矢量图形性能很差。这只是一个不幸的事实。
tip I found here建议您可以通过将IE8设置为使用其IE7兼容模式来获得一些性能提升。我还没有尝试过,老实说,我不愿意建议使用兼容模式,因为有很多原因不想使用兼容模式,但拉斐尔在IE8中表现不佳的很大一部分原因是IE7和IE8之间制作的some fairly significant changes to the VML language。进入兼容模式可能会使浏览器切换到VML语言的IE7版本,从而避免这些问题。
正如我所说的,如果可能的话,我会尽量避免这个选项,因为兼容性模式有很多问题,但是如果你真的不能用其他方式让事情令人满意,你可以试一试。注意,如果您确实使用此解决方案,请注意仅在IE8中激活它;如果可以避免,您真的不希望IE9或IE10进入IE7模式!
发布于 2013-11-28 16:57:37
正确的方法是
<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"
https://stackoverflow.com/questions/7825819
复制相似问题