谷歌声称已将Android浏览器滚动性能提高了2倍
在 Android 和 iOS 设备上运行网络浏览器的 Chrome 用户可能已经注意到,Android 上的 Chrome 滚动感觉比 iOS 设备上的滚动更卡顿。据该公司称,很快,Android 上的 Chrome 用户将体验到与 iOS 设备上的用户相同的滚动体验,因为谷歌工程师已经对浏览器进行了更改,将滚动体验提高了 2 倍。
谷歌解释说,它成功地将缓慢滚动的卡顿现象减少了 2 倍,这就是这个数字的来源。该公司通过“过滤噪音并减少屏幕上呈现的内容的视觉跳跃”来改进滚动。
分析 Chrome 在 Android 上的滚动行为的工程师发现,Chrome 的预测器并不像应有的那么准确。深入挖掘后,工程师发现 Chrome 的实现与 Android 的实现有两个主要差异。
Chrome 使用具有毫秒精度的 Java 函数,而 Android C++ MotionEvent 时间戳具有纳秒精度。这是一个问题,因为在计算事件时间戳之间的速度时,毫秒的舍入可能会产生预测器错误。
Android 和 Chrome 上的重采样也不同。Chrome 使用“简单的输入事件 FIFO 队列”,这有时会导致奇怪的预测问题。
谷歌的工程师使用不同的算法进行了测试,并选择了1 欧元的过滤器实现,据谷歌称,这“明显且显着地”改善了滚动体验。谷歌在博客文章中描述了“屏幕轨迹紧密贴合你的手指”,网站滚动流畅,“防止输入事件不一致引起的卡顿”。
对于 Google 用户来说,最重要的问题是这些改进何时会出现在 Android 版 Chrome 中。谷歌计划在 Android 版 Chrome 116 中推出这一功能,并将这一更改一直移植到 Android 版 Chrome 110。
Android 14还将在SKD中公开纳秒API,以便Chrome和其他应用程序可以使用它。其他基于 Chromium 的浏览器以及非 Chromium 应用程序也可能受益于 Android 14 中的 API 引入。
结束语
谷歌声称,无论是在低端还是高端设备上,滚动改进在视觉上都很明显,而且在查看数字时也是如此。