Chrome's scrolling experience on Android has been improved significantly, reducing jank by half. The investigation revealed that inconsistent input rates caused visual jumps during scrolling. Chrome's resampling algorithm was found to be ineffective due to imprecise timestamps and suboptimal event selection. By adopting Android's resampling implementation and experimenting with various algorithms, a 1€ filter was implemented, which drastically improved scrolling smoothness. Metrics were developed to evaluate the quality of the scroll predictors, and the analysis showed a 2x reduction in visible jank. The improvement will be available in Chrome M116 and backported to M110, bringing Chrome on Android on par with Chrome on iOS. This case study highlights the importance of thorough investigation and experimentation in identifying and resolving performance issues, even when metrics do not fully capture user experience.
blog.chromium.org
blog.chromium.org
