Google внедрил значительные улучшения в Chrome для Android, что привело к снижению явления, известного как «заикание прокрутки» (scroll jank), на 48%, делая опыт прокрутки более плавным для пользователей.
Понимание проблемы «заикания прокрутки»
Этот тип нестабильности является распространенным поведением, но теперь он встречается реже, когда поток прокрутки кажется останавливающимся на мгновение. В некоторых ситуациях браузер может демонстрировать «прыжок», резко перемещаясь на более удаленную точку страницы, что затрудняет поиск конкретной информации.
Google поясняет, что этот прыжок происходит из-за временного лимита, установленного Chrome для отображения каждого кадра перед обновлением экрана. Если этот лимит превышен, предыдущий кадр остается видимым в течение дополнительного цикла обновления. Когда новый кадр наконец готов, страница перескакивает непосредственно в самое актуальное положение прокрутки.
Хотя пользователи воспринимают эту динамику как неудобство визуального «заикания», проблема считается более тонкой, чем полный зависание. Поэтому Google сосредоточил свои усилия на уменьшении этого «заикания прокрутки».
Как было достигнуто улучшение
Решение заключалось не только в ускорении Chrome, но и в обеспечении максимально стабильного потока доставки кадров, поскольку различные факторы могут вызывать эту нестабильность. Разработчики изменили способ управления Chrome касаниями экрана, связанными с прокруткой.
Вместо того чтобы перегружать основную задачу браузера — которая может быть занята выполнением скриптов, — обработка прокрутки была перенесена в более специализированный и, следовательно, менее подверженный задержкам компонент. Кроме того, Chrome начал оптимизировать время отображения кадров.
Если возникает небольшая задержка в несколько миллисекунд при касании, браузер решает подождать немного, прежде чем отрисовать следующее изображение. Если оставшееся время недостаточно, система оценивает позицию, на которую должен попасть палец в следующий момент, предотвращая многократное отображение старого кадра и генерацию эффекта «заикания».
Результаты и будущие перспективы
В результате этих оптимизаций Google сообщает, что «заикание прокрутки» в Chrome для Android было снижено на 48% в период с 2023 по 2026 год. Хотя автор статьи ожидал более высокого процента, он считает это достижение значимым, учитывая огромное разнообразие устройств и конфигураций, на которых работает Chrome для Android. Google отметил, что работы по оптимизации Chrome на Android продолжатся.