现代浏览器如何处理滚动?

现代浏览器如何处理滚动?

我想知道现代浏览器如何处理显示页面的滚动。

每次滚动之后整个页面都会重新渲染吗,或者是否有一个内部位图或甚至可能是 GPU 加速缓冲区只是移动了?

现在有很多关于 GPU 加速的讨论,但究竟加速的是什么:实际内容(图像、文本、线条……)的绘制过程,还是页面上各种元素的合成,还是两者兼而有之?

答案1

不需要特别现代的浏览器。Windows(操作系统)已经为所有应用程序支持滚动支持很长时间了。Windows 会跟踪窗口的哪些部分是“有效的”,哪些是“无效的”,并要求程序重新绘制无效部分。滚动后,只有细小的边缘无效并需要重新绘制。

(当前版本的 Windows 使用一个名为ScrollWindowEx为了这)

答案2

相关内容