Производительность Raphael JS в Internet Explorer 8 - PullRequest
3 голосов
/ 19 октября 2011

Производительность Raphael в IE8 значительно хуже, чем в IE7 или IE6.

Пример: http://jsfiddle.net/t5NGF/

В приведенном выше примере визуализация в IE8 почти в 10 раз медленнее, чем в IE7. При активации режима совместимости IE8 производительность соответствует IE7.

Почему IE8 намного медленнее, чем IE7 / IE6 при использовании Raphael, и есть ли что-то, что нужно сделать для повышения производительности?

Ответы [ 2 ]

1 голос
/ 15 июня 2013

К сожалению, с этим мало что можно сделать.

Raphael отображает графику в SVG для большинства браузеров, но в VML при работе под IE6, IE7 и IE8.VML - это язык векторной графики, который Microsoft создала для IE до того, как SVG был определен как стандарт.

Плохая новость заключается в том, что механизм VML в IE8 значительно медленнее, чем в IE6 и IE7, а некоторые функции в Raphael ударилиэти медленные пятна особенно плохо.Производительность векторной графики в IE8 плохая.Это просто прискорбный факт.

Совет , который я нашел здесь предполагает, что вы могли бы быть в состоянии получить некоторое повышение производительности, настроив IE8 на использование режима совместимости с IE7,Я еще не пробовал, и, честно говоря, стесняюсь предложить это, поскольку существует множество причин, по которым не стоит использовать режим совместимости, но большая часть причин низкой производительности Raphael в IE8 сводится к некоторые довольно существенные изменения в языке VML , которые были сделаны между IE7 и IE8.Переход в режим совместимости может заставить браузер переключиться на версию VML для IE7 и, таким образом, избежать этих проблем.

Как я уже сказал, я бы попытался избежать этой опции, если приВсе это возможно, так как режим совместимости имеет много проблем, но если вы действительно не можете заставить вещи работать удовлетворительно любым другим способом, вы можете попробовать.Обратите внимание, если вы используете это решение, будьте осторожны, чтобы активировать его только для IE8;вы действительно не хотите, чтобы IE9 или IE10 переходили в режим IE7, если вы можете избежать этого!

0 голосов
/ 28 ноября 2013

правильный путь -

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

, потому что ie9 реализовал svg ,, поэтому, если вы напишите:

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

, то ie9 снизится до ie7

подробнеев эмулировать IE7 для IE8, но не для IE9, используя «X-UA-Compatible»

...