Ladybird browser update (May 2026)

Lobsters Hottest 产品

摘要

The May 2026 update for Ladybird browser brings major improvements in real-world site compatibility (e.g., passes Cloudflare Turnstile, enables MSE), responsiveness (async scrolling, JS bytecode caching, WASM JIT with Cranelift, incremental sweeping), and infrastructure (Rust HTML parser, ad-blocking via adblock-rust, CSS container queries).

<p><a href="https://lobste.rs/s/giob6a/ladybird_browser_update_may_2026">Comments</a></p>
查看原文
查看缓存全文

缓存时间: 2026/06/05 07:07

TL;DR: Ladybird 浏览器在2026年5月更新中大幅提升了真实网站兼容性、滚动响应速度和平台基础架构,包括通过 Cloudflare Turnstile、启用 MSE、异步滚动合成器、JavaScript 字节码缓存、WASM JIT (Cranelift)、增量清扫等关键改进。 ## 赞助商与致谢 本月的更新从感谢赞助商开始。Ladybird 完全由个人和公司的赞助与捐赠支持。本月新增两位赞助商:**Code Rabbit** 赞助 10,000 美元,**Wheelofnames.com** 赞助 1,000 美元。感谢他们的支持,后续演示中会尝试打开这些网站。 ## 真实网站兼容性 ### Cloudflare Turnstile 通过 Cloudflare Turnstile 是一种反机器人机制,之前 Ladybird 因看起来像机器人而被拦截。经过多年的 Web 兼容性和引擎正确性积累,现在 Turnstile 认定我们是一个合法的浏览器。这并非单一修改的结果,而是大量小修复的总和。特别感谢 Cloudflare 团队的帮助。 ### 媒体源扩展 (MSE) 默认启用 流媒体网站现在可以通过 JavaScript 分块提供媒体数据。之前因数据驱逐策略(基于“年龄”)而无法默认启用,现在已完善。在 YouTube 上向前搜索变得非常快,并且支持 4K 视频播放(性能尚待优化,但数据流已正常)。 ### 其他站点修复 - **TradingView**: 图表正常显示(涉及 Service Worker 与 Canvas 半透明 alpha 累积问题,颜色恢复正确)。 - **Discord**: 大量兼容性修复。 - **Shopify**: 修复溢出问题。 - **Reddit** 与 **Hacker News**: 持续改进。 - 更多站点持续修复中,为 Alpha 版本准备。 ## 响应性提升 ### 异步滚动 引入新的 **合成器进程**,位于 UI 与 Web 内容之间,专门处理滚动。当收到滚轮事件时,合成器立即与 UI 进程通信并更新帧,无需等待 JavaScript 执行完毕。滚动条和触控板操作变得流畅。对比 IMDb 示例,开启异步滚动后滚动顺滑无延迟。合成器还管理 GPU 上下文(未来方向:整个浏览器共享一个 GPU 上下文,节省资源)。 ### JavaScript 字节码缓存 字节码与 HTTP 资源缓存一起存储在磁盘。当缓存命中(热加载)时,直接将字节码内存映射并执行,无需解析编译;多个标签页共享同一字节码。冷加载时,主线程处理页面任务,后台线程解析并编译顶层代码,完成后交给主线程,后台继续编译函数体。编译完成后将字节码写入磁盘并通过文件支持的内存映射替换堆上的临时表示,可在进程间共享。若后台编译期间需要未编译的函数,主线程会惰性按需编译。 ### WebAssembly JIT (Cranelift) 使用 **Cranelift** 将 WebAssembly 即时编译为原生代码。编译在独立进程中进行,生成可执行文件后映射到 Web 内容进程内存。CoreMark WASM 基准测试提升约 **8 倍**。 ### 增量清扫 经典的标记-清扫 GC 中,现在清扫阶段被拆分为每次最多 **5 毫秒** 的小块,交错运行 JavaScript。GC 暂停时间缩短,视觉卡顿减少。同时,内存返还操作改为后台解除提交线程处理,不再阻塞主线程。 ## 平台基础架构 ### HTML 解析器用 Rust 重写 标记化器、HTML 树构建器及预加载扫描器均已移植到 Rust,作为对不可信数据输入使用内存安全语言的一部分。经过约 7000 个网站的验证,输出 DOM 与 C++ 版本完全一致,且意外地比旧解析器快约 **10%**。 ### 内容拦截 (adblock-rust) 采用 Brave 浏览器的 **adblock-rust** 开源库,支持 ABP / EasyList 格式。对于网络请求,传递 URL 和元数据,根据规则决定阻止或放行;同时进行样式规则过滤,实现 CSS 元素隐藏功能,消除旧方案中因只阻止网络请求而未修改 CSS 导致的布局空洞。设置界面尚简陋,但基础设施已就位。 ### CSS 容器查询 作为常规引擎工作,已支持 CSS 容器查询,适应越来越多的网站使用。 --- Source: [Ladybird browser update (May 2026)](https://www.youtube.com/watch?v=GZoLy5e8y-4)

相似文章

改变我们开发Ladybird的方式

Lobsters Hottest

Ladybird浏览器正在关闭公开的拉取请求,并将代码变更限制为仅限项目维护者,理由是AI工具使得评估贡献者可信度变得更加困难,且项目在接近Alpha发布时需要更严格的安全性。

引用 Andreas Kling

Simon Willison's Blog

Ladybird 浏览器将不再接受公开的拉取请求,因为使用 AI 生成代码过于容易,要求贡献者对更改负责。