MSIE 8 Проблем производительности с Dojo Charting: Dojo._GetMarginbox
-
15-09-2020 - |
Вопрос
У меня есть страница с 6 графиками dojox.charting.Chart2d
, которая отлично работает во всех браузерах , кроме IE.В IE8 графики занимают более минуты для загрузки.
Профилирование показывает, что, безусловно, большинство времени потребляется dojo._getMarginBox
: 57 вызовов занимает от 48 до 66 секунд.
- У кого-нибудь еще есть опыт работы с этим?
- У кого-нибудь еще есть какие-то предложения (кроме того, избавиться от IE, что к сожалению не вариант)?
Решение
Хорошо, мы выкопали его.Проблема заключалась в том, что dojo._getmarginbox не злой медленно, около 850 мс / вызова.Хотя я был очень профилирование и ищет намеки, кто-то другой пошел (по общему признанию Crufty) HTML-код и убрал его, в том числе закрытие неразборных блоков и тому подобное.
Производительность мгновенно улучшена в течение примерно 5.
Рабочая гипотеза теперь состоит в том, что IE8 - куча мусора неэффективна при обнаружении ограждающего окна, если он должен иметь дело с несоническими деревьями DOM.
Это также улучшило производительность в Chrome и Firefox, по крайней мере, на Linux.