Страницы

Поиск по вопросам

вторник, 12 февраля 2019 г.

Что означает эта ошибка: [Violation] Forced reflow while executing JavaScript took 54ms?

В консоли Google Chrome если выбрать уровень Verbose


Ответ

Начнем с того что это не ошибка. Это предупреждение, избавление или неизбавление от которого на вашей совести.
Уровень "Verbose" в консоли позволяет проще находить узкие места в производительности, другими словами почему все так тупит. Обычно это код который поставленную задачу решает, но можно сделать его значительно оптимальнее.
Так вот, одним из убийц производительности в js является неаккуратное манипулирование DOM, потому что можно вызвать перерисовку того что перерисовывать не надо. В тяжелом случае это так называемый layout thrasing.
В данном конкретном случае ворнинг говорит вам, что на js произошло что-то что повлекло за собой значительную перестройку структуры страницы без явной для отладчика причины и рассказывает сколько это заняло. Кстати это не обязательно плохо, бывает от этого сложно отказаться.
Для того чтобы понимать как и когда браузеры решают что-то перерисовать, что такое repaint и reflow, рекомендую познакомиться с этой статьей
В общем вам этим сообщением подсказывают цель для тюнинга производительности.

Комментариев нет:

Отправить комментарий