These days, Google’s Android and Apple’s iOS are fairly comparable operating systems and beyond some small stuff, they’re evenly matched. However, one area where Android still falls a bit behind is in scrolling — some apps just feel janky on Android and buttery smooth on iOS.
One such app is Google’s own Chrome browser, but that might not be the case for much longer. Chrome version 116 will take advantage of a new API coming in Android 14 that will result in two times less visible jank than before.
If you’re curious about how this will work, the Chromium blog offers a very detailed explanation you can read here. The short version is that API allows Chrome to sample touch input more often than before, which with a bit of work, now translates to smoother scrolling.
The janky scrolling problem actually stems from the advent of high refresh rate displays, which make stuttery scrolling more apparent. Most Android apps were able to work around this by utilizing a buffered touch input sampling algorithm to make things smoother.
Chrome, however, couldn’t do that for a few reasons, including web compatibility. Instead, Chrome uses unbuffered input, meaning it receives touch events as soon as possible. On screens where the input sampling isn’t consistent with the refresh rate, scrolling ends up looking janky.
Instead, Google engineers fixed the scrolling issues by using Android 14’s new nanosecond API, which allows Chrome to sample touch input at nanosecond intervals instead of milliseconds. Coupled with fine-tuning algorithms that predict motion and movement on these short timeframes, Google was able to make the scrolling experience much smoother. For example, take a look at the slow-mo video Google shared showing the difference.
While support for the API is rolling out with Chrome 116, Google was able to backport it to Chrome 110, though you’ll need to enable a Chrome flag to access it. You’ll also need Android 14 on your device to take advantage of the update, which either means running the beta (if you aren’t already) or waiting until your phone eventually gets the stable update (if it ever does).
It’s also worth noting that other Chromium-based browsers should eventually benefit from this change too. Since the nanosecond API is part of Android 14, non-Chromium browsers (read: Firefox) should also be able to take advantage of it, as well as any other app that needs better touch sampling.