谷歌已经找到了一种显着提高其Chrome浏览器性能的方法,它表示可以让用户看到显着的速度提升。在Chrome开发人员DavidBienvenu撰写的一篇博客文章中,该公司声称自实施这些更改以来,Chrome启动速度提高了8.5%到25.8%,使用的GPU内存减少了3.1%,绘制的渲染器帧总数减少了20.4%,以及遇到渲染器崩溃的客户端减少4.5%。首次输入延迟也有3.0%的改善,第一次内容绘制和最大内容绘制也有6.7%的改善。
它通过准确地意识到Chrome窗口何时被遮挡或完全被其他窗口覆盖来做到这一点。
浏览器的开发人员使用的方法与他们之前使用Chrome标签页的方法相同。当不使用选项卡时(不在用户的直接视图中),它们不会被呈现。它节省了计算能力,使整个浏览器运行得更快。
然而,当尝试将相同的逻辑应用于整个Chrome窗口时,出现了一些问题:操作系统没有提供直接的方法来确定一个窗口何时被其他窗口完全覆盖。一个Chrome窗口覆盖另一个窗口并不是什么大问题,但其他窗口(程序、文件浏览器等)是一个挑战。
更复杂的是多显示器设置、虚拟桌面、非不透明窗口和隐形窗口。“这需要非常小心地完成,因为如果我们确定一个窗口在实际上对用户可见时被遮挡,那么用户希望看到网络内容的区域将是白色的,”Bienvenu解释说。“我们也不希望在进行遮挡计算时阻塞UI线程,因为这会降低Chrome的响应速度并降低用户体验。”
经过三年的试验,Chrome的开发人员提出了NativeWindowOcclusion项目,将启动速度提高了25%。