При каких обстоятельствах производительность Javascript будет хуже в IE8, чем в IE7? - PullRequest
11 голосов
/ 28 октября 2010

Я работаю в компании, которая создала интерактивные схемы рассадки с использованием Javascript. Вот пример: http://seatgeek.com/event/show/457624/miami-dolphins-at-new-york-jets-2010-12-12/. Во многом они имитируют функциональность Карт Google.

Мы имеем дело со странной проблемой - производительность для карт хорошая во всех браузерах, кроме IE8. Я включаю IE6 и IE7 в категорию "все браузеры". Мы видим заметно худшую производительность JS в IE8. Когда вы пытаетесь перетащить карту в IE8, она немного зависает и появляется заметное отставание. Но это не проблема в IE6 или IE7.

Мы выделили, что проблема связана с маркерами на карте. Это намного более распространено, когда вы увеличиваете масштаб, и отображается больше маркеров.

Мы провели некоторое тестирование с использованием dynaTrace , и кажется, что задержка вызвана не обработкой JS как таковой, а тем, что dynaTrace называет «рендерингом». Кажется удивительным, что более новая версия IE будет иметь худший рендеринг.

Ответы [ 2 ]

1 голос
/ 04 ноября 2010

Вы запускали скрипт Profiler в инструментах разработчика IE8? Он точно скажет вам, сколько времени уходит на каждую функцию.

См .: http://blogs.msdn.com/b/ie/archive/2008/09/11/introducing-the-ie8-developer-tools-jscript-profiler.aspx

0 голосов
/ 04 ноября 2010

IE8 отображает PNG по-разному.Попробуйте заменить их на заглушки и посмотреть, что получится.Кроме того, ваш сайт очень медленный: изображения не загружаются заранее, и их очень много.Этот тип рендеринга может быть легко выполнен Raphaeljs без использования каких-либо изображений (возможно, оригиналы являются векторами - экспортируйте их в виде путей и выполните рендеринг с Raphael).

Кроме того, вы полностью испортили сжатие: вы не делаетевам не нужен альфа-канал, и использование палитры в вашем случае намного лучше.

...