Hasty Briefsbeta

双语

An Update on Igalia's Layer Based SVG Engine in WebKit (Reducing Layer Overhead)

12 hours ago
  • #WebKit
  • #SVG Rendering
  • #LBSE
  • LBSE 项目从 2021 年到 2022 年自上游启动,增加了对 SVG 构建块的支持。
  • 工作在 2023-2024 年暂停后恢复,增加了对 Wix 的支持,并实现了如裁剪和滤镜等高级绘制功能。
  • LBSE 旨在与 HTML/CSS 共享渲染机制,以继承性能改进,这与传统的 SVG 引擎不同。
  • 2026 年,Igalia 投资 LBSE 开发,以证明其性能并吸引嵌入式 UI 合作伙伴。
  • LBSE 最初为每个 SVG 渲染器分配了一个 RenderLayer,这种方式虽然浪费,但允许快速原型开发。
  • 暂停后,进行了正确性修复,包括文本渲染、滤镜问题和崩溃解决。
  • 性能是关键:引入了条件层创建机制以移除不必要的层,从而改善了内存和每帧开销。
  • 现在仅出于内在原因(如透明度、裁剪、3D 变换)创建层,而叶元素上的 2D 变换不需要层。
  • 经过变换的容器仍需要层,以维持祖先变换的正确合成。
  • 条件层创建破坏了复合绘制顺序,这个问题将在未来的文章中解决。