Raphael在IE8中的表现明显比IE7或IE6差。
实施例: http://jsfiddle.net/t5NGF/
上述示例在IE8中的渲染速度比在IE7中慢近10倍。激活IE8的兼容模式,性能与IE7相匹配。
为什么IE8在使用Raphael时比IE7 / IE6慢得多,是否有任何工作要做以提高性能?
答案 0 :(得分:1)
不幸的是,你无能为力。
Raphael在大多数浏览器中使用SVG渲染图形,但在IE6,IE7和IE8下运行时使用VML。 VML是一种矢量图形语言,微软在将SVG定义为标准之前为IE创建了这种语言。
坏消息是IE8的VML引擎明显慢于IE6和IE7,而Raphael的某些功能特别严重地打击了这些慢点。 IE8中的矢量图形性能很差。这只是一个不幸的事实。
tip I found here建议您可能通过将IE8设置为使用其IE7兼容模式来提高性能。我还没有尝试过,说实话我犹豫不决,因为有很多理由不想使用兼容模式,但拉斐尔在IE8中表现不佳的很大一部分原因是{在IE7和IE8之间制作的{3}}。进入兼容模式可能使浏览器切换到VML语言的IE7版本,从而避免这些问题。
正如我所说的,如果可能的话,我会尽量避免使用此选项,因为兼容模式存在很多问题,但是如果你真的不能让任何其他方式令人满意地工作,你可以尝试一下。注意,如果你使用这个解决方案,小心只为IE8激活它;你真的不希望IE9或IE10进入IE7模式,如果你能避免它!
答案 1 :(得分:0)
正确的方法是
<meta http-equiv="X-UA-Compatible" content="IE=7, IE=9">
因为ie9已经实现了svg,所以如果你写:
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
然后ie9下降到ie7
中的更多信息