У меня есть приложение AngularJS, использующее Angular Материал и данные, загруженные из внешнего API.
Ничего особенного в этом приложении не имеет, и все мои тесты выполняются абсолютно в Chrome, Firefox и Safari.
Однако, когда я использую Internet Explorer, все ад разрывается. Приложение невероятно медленно, анимации CSS болезненно лагги, приложение полностью непригодно.
Я потратил целый день, пытаясь найти множество возможных исправлений и отладки, но я поднимаю козыри.
Вещи, которые я вижу:
- Когда я использую IE11 Developer Tools и запускаю журнал производительности, "Расчет стиля" занимает, на сегодняшний день, наибольшее количество времени.
- Когда у меня есть подстановочные CSS-селектора, производительность медленнее (например,
*{box-sizing: border-box}
)
Здесь вывод от инспектора производительности, когда буквально все, что я делаю, прокручивается вниз md-virtual-repeat
:
Как вы можете видеть, style calculation
занимает здесь много времени.
Для этого Googling придумал козыри с обходными решениями. Что здесь происходит? Это красная селедка, и проблема в другом месте в моем приложении (мой JS так же эффективен, как я могу думать об этом, и я также тестировал загрузку без реальных данных, всего 30 статических объектов в виртуальный ретранслятор - и результаты одинаковы).