Плавная прокрутка в Chrome для Android стала еще более заметной благодаря изменениям и исправлениям, которые Google внесла в обновление приложения для Android. Это не небольшой набор недавних изменений от Google. Скорее, это серия изменений, которые Google вносила в Chrome для Android начиная с 2023 года и продолжала улучшать вплоть до 2026 года.
Google подробно описывает эти совокупные изменения в недавнем посте в блоге от 23 июля, отмечая, как все эти изменения за последние несколько лет помогли уменьшить то, что она называет «scroll jank» в Chrome для Android, в общей сложности на 48%. Если вы не знакомы с термином scroll jank, это заикание или прерывание, которое может возникать при прокрутке веб-страницы. Google сообщает, что это происходит, когда «устройство не успевает вовремя предоставить кадр с обновленным смещением прокрутки». Сравнение на видео ниже показывает, как это выглядит.
Input-to-frame delivery сложнее поддерживать для Chrome, чем для других Android-приложений
Исправление этой проблемы в Chrome для Android не является быстрым решением, и это должно быть очевидно из того факта, что Google потребовалось около трех лет, чтобы внести улучшения, которые привели Chrome к его нынешнему состоянию. По словам Google, это во многом связано с тем, что поддержание согласованной доставки input-to-frame сложнее в Chrome для Android, чем в других приложениях.
Все это можно наглядно объяснить с помощью input pipeline. Короче говоря, традиционные Android-приложения имеют значительно меньший input pipeline, чем приложение Chrome для Android. Для любого приложения, будь то Chrome или нет, необходимы две основные вещи, чтобы анимация прокрутки отображалась на экране для пользователя. Первое — input event, который сообщает приложению, где находится палец пользователя на экране. Это позволяет ему «вычислить смещение прокрутки». И второе — сигналы Vsync, которые, по словам Google, «действуют как метроном для устройства». Сигналы Vsync сообщают приложению, когда создавать следующий кадр.
Для традиционных приложений input pipeline содержит гораздо меньше процессов. Input pipeline для Chrome на Android более сложен, потому что шаги распределены между несколькими различными процессами в приложении Chrome.
Input events проходят через эти различные процессы одновременно, прежде чем кадр может быть отображен пользователю. Google решила эту проблему, выявив коренные причины scroll jank, а затем провела мозговой штурм проектов для решения проблем. Как только исправление было внедрено, весь процесс повторялся снова и снова, пока scroll jank не был уменьшен на 48%.
Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.
Автор – Justin Diaz












