Hacker News 中文摘要

RSS订阅

Zed编辑器将图形库从Blade切换至Wgpu -- Zed editor switching graphics lib from blade to wgpu

文章摘要

该PR移除了blade渲染器,改用wgpu重新实现了Linux平台的渲染器,以提升性能和兼容性。

文章总结

文章主要内容概述

标题: gpui: 移除Blade,使用wgpu重新实现Linux渲染器 (#46758)
作者: zortax
项目: zed-industries/zed
状态: 已合并

核心内容

  1. 问题背景

    • 现有的Blade图形库存在诸多问题,导致Zed用户及第三方应用在使用GPUI时遇到兼容性和稳定性问题。
    • 具体问题包括NVIDIA显卡在Linux下的冻结问题(如niri-wm/niri#2335)及其他相关Issue。
  2. 解决方案

    • 移除Blade库,改用Rust生态中广泛使用的wgpu(WebGPU实现)重新实现Linux平台的渲染器。
    • wgpu是Rust UI/图形领域的标准工具,被Bevy游戏引擎、Iced等项目采用,具有更好的维护性和社区支持。
  3. 优势

    • 解决现有Blade导致的兼容性问题。
    • 未来可受益于wgpu的持续优化和生态贡献。
    • 为跨平台功能(如Web客户端)提供潜在支持。
  4. 争议与讨论

    • 性能与内存:部分用户反馈wgpu的初始内存占用较高(Windows下约100MB vs Blade的10MB),但实际渲染复杂内容时差异可能缩小。
    • 跨平台扩展:是否将wgpu作为可选渲染器扩展到macOS/Windows存在分歧。维护团队认为原生渲染器(如Metal/DirectX)在性能和兼容性上更优。
    • 维护成本:团队倾向不保留Blade以减少代码维护负担。
  5. 优化与结果

    • 经过多次优化后,wgpu版本的VRAM和CPU耗时均优于原Blade实现(如CPU耗时减少20%)。
    • 最终合并的提交(f988a34)在性能测试中表现良好。

相关Issue

该PR解决了以下问题:
- #44814
- #40481
- niri-wm/niri#2335

社区反馈

  • 获得52个👍、25个🚀等积极反应,多数支持转向wgpu
  • 部分用户建议保留Blade作为可选方案,但未被采纳。

精简说明

此PR移除了问题频发的Blade图形库,改用更成熟的wgpu实现Linux渲染器,解决了冻结等兼容性问题,并通过优化使性能优于原方案。尽管存在内存占用的争议,团队认为wgpu的生态优势和维护性更符合长期需求。

评论总结

以下是评论内容的总结,涵盖主要观点和论据:

  1. 技术迁移的潜在好处

    • 使用wgpu可能使Zed在浏览器中运行(类似VSCode的远程接口)
      "An interesting side effect... run Zed in a web browser"
    • 可能改善老旧GPU/无GPU环境下的兼容性
      "Will this help running Zed in environments with no GPU/old GPUs?"
  2. Rust GUI生态的挑战

    • 关键依赖维护不足,项目半成品多,LLM可能延缓发展
      "Rust GUI is in a tough spot... set the ecosystem back"
    • GPUI框架开发暂停,转向社区维护分支
      "Zed stopped GPUI development... pushed off anything not directly related to Zed"
  3. 对Blade和wgpu的质疑

    • Blade存在渲染问题(闪烁、黑块),wgpu未必能长期解决
      "Why flickering and black triangles?... WebGPU implementation isn't exactly slim"
    • wgpu作为兼容层可能影响性能
      "Will this make Zed slower, since Wgpu is a compatibility layer?"
  4. WebGPU标准的争议

    • 与Vulkan 1.3差异大,游戏/科学计算领域兴趣不足
      "WebGPU is closer to Vulkan 1.0... lack of interest from game engines"
  5. 用户体验问题

    • 字体渲染模糊,不及其他编辑器
      "fonts in Zed are much blurrier... Can't even use bitmap fonts"
    • 对纯GPU加速编辑器的实用性存疑
      "I would rather my editor works in many possible environments... even tty"
  6. 个别正向反馈

    • 可能修复特定硬件(如Orange Pi)的兼容性问题
      "Latest builds stopped working on panfrost... Maybe I can have it back"
    • 对Makepad等跨平台Rust项目的期待
      "I wish makepad project would get more traction"

(注:所有评论均无评分数据,故未体现认可度差异)