添加了对 2D 图形渲染的 Skia WebKitGTK 和 WPEWebKit 支持

斯基亚标志

Skia是一个开源2D图形库

在发展的世界里 Web 浏览器和桌面环境、优化和性能最需要的功能 这些是直接影响用户体验的关键方面,也是选择网络浏览器时的主要因素之一。

在这种情况下, WPEWebKit 和 WebKitGTK 背后的开发团队 (Safari 和 Epiphany/GNOME Web 等浏览器中使用的浏览器引擎), 纳入了使用 Skia 库的功能 用于渲染 2D 图形。

在过去的几年中, WebKit 开发人员一直在努力提高性能 WebKitGTK 和 WPEWebKit 图。虽然和功能已经实现 例如线程渲染和垂直同步,很明显基于 CPU 的 2D 渲染器已经达到了极限 在性能和效率方面。据称,他们在选择 Skia 之前探索了多种选择。由于库架构的限制,向 WebKitGTK 使用的 Cairo 库添加 2D GPU 渲染功能的尝试未成功。此外,由于难以在性能和渲染质量之间取得平衡,开发自定义渲染库的项目被放弃。

曾尝试让 Cairo 支持 GPU 渲染,但效果不是特别好,因为该库是围绕基于 PostScript 模型的有状态操作而设计的,从而产生了方便且熟悉的 API,具有出色的输出质量,但难以重新定向以及一些特别慢的极端情况。与此同时,其他 Web 引擎已将更多工作转移到 GPU,包括 2D 渲染,其中许多操作的速度要快得多

虽然 使用Skia的想法最初被拒绝 由于 API 稳定性问题、将其用作外部依赖项以及需要在 WebKit 中维护第三方模块, 最终被认为是最优解 提高 WebKitGTK 中的图形渲染性能。

Skia 是一个图形库 用于多种 Google 产品,例如 Chrome、Firefox、ChromeOS、Android 和 Flutter。此添加支持使用 GPU 进行渲染,从而可以显着提高图形渲染性能。

迁移到 Skia 是由 Igalia 执行的,作为优化 GNOME 的 WebKitGTK 性能计划的一部分。据称,这种迁移背后的主要原因是在使用CPU优化2D渲染性能的过程中达到了极限。使用 GPU 提供了提高图形渲染性能的附加功能。

向 Skia 的过渡过程于 2023 年 XNUMX 月开始进行内部测试 最初的结果令人印象深刻,因为性能立即显着提高,尤其是在桌面上。随着测试的进展,我们发现 Skia 不仅提供了卓越的性能,而且还简化了代码并为新功能打开了大门。

2024年XNUMX月,经过紧张的发展期 和测试,实施 Skia达到了“可上游”状态, 这意味着它已经准备好公开集成到 WebKitGTK 和 WPEWebKit 中,开发者社区的初步反应是积极的,这标志着过渡过程中的一个重要里程碑。

该团队致力于继续改进 WebKitGTK 和 WPEWebKit 中的 Skia 实现,并计划进一步优化 GPU 渲染性能和效率。虽然目前的重点是WPE端口,但预计其他端口,例如GTK,将来也将获得Skia的支持。

最后 如果您有兴趣了解更多有关它的信息,您可以在中查看详细信息 下一个链接。


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责资料:AB Internet Networks 2008 SL
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。