Прокрутка не вызывает событие прокрутки, а также обновление дерева слоев в Chrome - PullRequest
0 голосов
/ 21 февраля 2020

Недавно я изменил макет DOM CSS и basi c в приложении, и после этого, когда появляется длинная страница с прокруткой, при прокрутке на мгновение появляется сдвиг прокрутки, приводящий к белому / серому экрану, пока прокрутка не станет сделанный. После завершения прокрутки содержимое раскрашивается. Эта проблема возникает только в Chrome, а не в firefox или сафари. При анализе инструментов chrome dev мы обнаружили, что событие прокрутки вообще не вызывается при прокрутке до основного потока. В старом коде отображается временная линия, происходит событие прокрутки -> Обновить дерево слоев -> Составные слои. В новом коде, после завершения прокрутки, Обновить дерево слоев -> событие mouseout -> Обновить дерево слоев -> Окрашивание -> Составные слои. Это событие указателя мыши предназначено для jQuery select2 и ранее также jQuery select2 было в приложении.

Старая временная линия кода: enter image description here

Новый код временная шкала: enter image description here

В новом коде после завершения прокрутки мы можем видеть прокрутку не как событие (js) желтого цвета), а как фиолетовый, который означает активность рендеринга.

enter image description here

Почему прокрутка не воспринимается как событие, а принимается как действие рендеринга? Я не могу отлаживать дальше, что является причиной этой проблемы

...