ESC
科技 1 分钟阅读

编译器式绘图优化:μSkia 为 Skia 建立形式语义,光栅化提速 18.7%

新研究提出 μSkia——为 Skia 2D 图形库建立的形式语义,并在 Lean 中机械化验证。团队识别出 Google Chrome 生成的四类次优绘图代码模式并给出验证过的替换实现,构建出高性能优化器:在取自访问量前 100 网站的 99 个 Skia 程序上,较 Skia 最新 GPU 后端提速 18.7%,单次优化耗时最多 32 微秒,效果跨网站、后端与 GPU 稳定成立。

来源:Hacker News

计算机科学 > 编程语言

提交于 2026 年 3 月 24 日

标题:二维光栅化的形式语义

作者:Bhargav Kulkarni、Henry Whiting、Pavel Panchekha

查看论文《Semantics for 2D Rasterization》(作者 Bhargav Kulkarni 等 2 人)的 PDF

查看 PDF HTML(实验性)

摘要:光栅化是确定应用程序所绘制的每一个像素颜色的过程。Skia、CoreGraphics、Direct2D 等强大的光栅化库在高效绘图、混合与渲染方面投入了极大的精力。然而,应用程序要求这些库执行的低效操作序列仍在拖累其表现。即便是 Google Chrome——一个与 Skia 光栅化库协同开发、经过高度优化的程序——在最常访问的前 100 个网站上仍会生成低效的指令序列。这种低效的根本原因在于:光栅化库具有复杂的语义,以及不透明、不直观的执行模型。 为解决这一问题,我们提出 μSkia——Skia 2D 图形库的形式语义,并在 Lean 中对该语义进行机械化。μSkia 涵盖画布状态、图层栈、混合与颜色滤镜等语言及图形特性,且该语义本身分为三个层次,以实现关注点分离并支持扩展。随后,我们识别出 Google Chrome 生成的四类次优 Skia 代码模式,并为每种模式编写了替换实现。μSkia 使我们能够验证这些替换实现的正确性,包括识别出大量棘手的附带条件。接着,我们开发了一个高性能的 Skia 优化器,通过应用这些模式来加速光栅化。在从访问量前 100 的网站收集的 99 个 Skia 程序上,该优化器相比 Skia 最新的 GPU 后端实现了 18.7% 的加速,而优化本身耗时最多不超过 32 微秒。这些加速在多种网站、Skia 后端和 GPU 上均能保持。为提供真正的端到端验证,优化器生成的优化轨迹会被重新载入 μSkia 语义,并在 Lean 中完成翻译验证。

备注:(无)

学科:编程语言

ACM 分类:I.3;D.3.1;D.3.2

引用方式:arXiv:2603.23696 [cs.PL]

(或 arXiv:2603.23696v1 为本版本)

https://doi.org/10.48550/arXiv.2603.23696

arXiv 通过 DataCite 发放的 DOI

提交历史

来自:Bhargav Kulkarni [查看电子邮件]

[v1] 2026 年 3 月 24 日(周二)20:14:34 UTC(1,399 KB)

全文链接:

获取论文:

查看许可协议(CC BY 4.0)

当前浏览上下文:

cs.PL

新的 | 最新 | 2026 年 3 月

参考文献与引用

BibTeX 格式引用

数据由相关服务提供。

书签

BibSonomy | Reddit

文献与引用工具

  • Bibliographic Explorer(文献浏览器)
  • Connected Papers
  • Litmaps
  • scite.ai(智能引用)

本文相关的代码、数据与媒体

  • alphaXiv
  • CatalyzeX Code Finder
  • DagsHub
  • GotitPub

演示

  • Replicate
  • Hugging Face Spaces
  • TXYZ.AI

相关论文

  • Influence Flower
  • CORE Recommender(支持按作者、会议、机构、主题推荐)

arXivLabs:与社区合作者共同开展的实验性项目

arXivLabs 是一个允许合作者在我们网站上开发并分享新 arXiv 功能的框架。

个人与组织均认可我们所秉持的开放、社区、卓越与用户数据隐私的价值观。arXiv 致力于这些价值观,并只与遵循这些价值观的伙伴合作。

对为 arXiv 社区增添价值的项目有想法?进一步了解 arXivLabs。

哪些作者是本文的认可者? | [禁用 MathJax]