Пересчитайте событие стиля в Chrome, заняв приблизительно 2 секунды - PullRequest
4 голосов
/ 19 декабря 2011

Я работаю над веб-приложением, которое неожиданно перестало отвечать на запросы в Google Chrome.Похоже, что нет такой же проблемы в любом другом браузере (я тестировал с Firefox и Safari).Например, при щелчке по текстовому полю ввода между нажатием и выделением элемента проходит от 3 до 5 секунд.То же самое происходит и при установке флажка.Пару вещей, на которые следует обратить внимание: на этой странице есть раскрывающийся список с около 150 опциями, а также таблица с 10 строками.Кроме этого, ничего необычного.

Я открыл инспектор кода Chrome и использовал вкладку «Временная шкала», чтобы увидеть, что происходит.Оказывается, основная часть задержки происходит из-за события «Пересчитать стиль», которое занимает около 2 секунд.Это событие произошло до события mousedown.Краткий поиск этого шага в Интернете мало что показал.Кто-нибудь знает что-нибудь об этом конкретном шаге рендеринга и что можно сделать, чтобы улучшить его производительность?

1 Ответ

4 голосов
/ 19 декабря 2011

Оказывается, на странице, которую я пропустил, было скрытое диалоговое окно, в котором было около 2000 li элементов.Я полагаю, что Firefox и Safari обрабатывают огромное количество элементов лучше, чем Chrome.

...