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