Анимация в IE9 заметно быстрее в режиме совместимости, чем в стандартном режиме? - PullRequest
2 голосов
/ 13 октября 2011

Итак, у меня есть веб-приложение, в котором много движущихся частей. Большинство частей перемещаются с помощью jquery. Как уже много раз говорилось о переполнении стека, в Chrome, Firefox или Safari он работает намного лучше, чем в IE. На самом деле он работает лучше в IE7 или IE8, чем в IE9.

По сути, у меня есть неупорядоченный список, в котором все элементы списка изначально скрыты с помощью display: none. На странице также есть медиаплеер, который воспроизводит аудиофайл. Когда звук воспроизводится, маркеры отображаются во времени с использованием $ (". Timeable [begin = 'i']"). Show () где i - текущее время в аудио.

<ul>
  <li class="timeable" begin="1">First Item</li>
  <li class="timeable" begin="5">Second Item</li>
</ul>

Другая движущаяся часть - это полоса внизу, которая также перемещается с помощью jquery в зависимости от времени. Есть и другие вещи, но я хотел сделать так, чтобы мне было проще объяснить другим.

Все функции скраббара перемещают показ lis в подходящее время, но, когда я запускаю IE9 в стандартном режиме, скраббар становится очень изменчивым, а lis иногда задерживаются и не отображаются в нужное время. Если я заставлю IE9 работать в режиме совместимости, все будет работать намного более плавно. Кроме того, чем больше lis, тем медленнее он становится. Любые подсказки, почему?

Кстати, я уверен, что будут крики "недостаточно информации", но, возможно, вы могли бы говорить в общих чертах. Но не стесняйтесь задавать дополнительные вопросы.

1 Ответ

1 голос
/ 05 марта 2012

Я не могу ответить «почему», вы видите такое поведение, однако я также вижу точно такие же проблемы.В IE9 Совместимость работает отлично.В IE9 Normal, очень изменчиво, поскольку я оживляю деление, которое разрушается.При свертывании (ширина стремится к нулю), дюжина + делений внутри сворачивающегося div начинает уменьшаться, как и ожидалось, в то время как высота всех div становится все выше и выше, как и ожидалось, и когда текст внутри divs сдвигается и отображаетсяЭто очень нестабильно.

Когда я выполняю такую ​​же операцию на другой странице с меньшим количеством внутренних элементов в сворачивающемся элементе, анимация получается намного более плавной, чем ожидалось.Единственный вывод заключается в том, что IE9 тратит много времени на перерисовку строк текста на основе натурных разрывов (пробелы, запятые и т. Д.).Так много времени, что анимация опережает способность движка перерисовываться, вызывая прерывистое отображение.

...