Zed editor switching graphics lib from blade to wgpu

Scope and Rationale of the wgpu Switch

  • Change currently applies only to the Linux renderer; macOS/Windows still use Zed’s custom Metal/DirectX backends, which are believed to be leaner and lower-memory.
  • Several commenters argue that while wgpu is unlikely to be faster than a good native backend (it’s an abstraction layer over Vulkan/Metal/DX), it may not be much worse, and unifying on one graphics layer has simplicity benefits.
  • Others report concrete downsides: wgpu currently has a sizable memory “floor” (~60–100 MB), and its OpenGL backend is considered fragile; Vulkan is the “real” stable path.
  • Blade is described as effectively unmaintained, with longstanding rendering bugs (flicker, black triangles) and ignored fixes, so the switch is seen as a pragmatic move to a more active project.

Web/Remote Implications

  • Using wgpu makes the renderer more portable to WebGPU, but commenters stress this is far from “Zed in a browser”: filesystem, input, background tasks, and overall client/server plumbing would need web/WASM-aware implementations.
  • Zed already has a client–server remote dev model; browser rendering would mainly be an alternative distribution channel, not a prerequisite for remote editing.
  • A web version is explicitly on Zed’s public roadmap, which some find exciting for embedding scenarios (e.g. code hosting frontends).

Rust GUI Ecosystem and GPUI

  • Several participants say Rust desktop GUI is in a rough, under-resourced state: many half-finished projects, critical low-level crates (e.g. Ash for Vulkan) lagging specs, and LLM hype pulling attention toward web/Electron solutions.
  • Others are more optimistic, pointing to gpui-component, iced, egui, Slint, Dioxus, Freya, Floem, Vizia, etc., each with trade-offs (virtualized lists, text quality, look-and-feel, documentation).
  • Zed’s GPUI is seen as solid but now explicitly maintained only insofar as Zed needs it; a community fork (gpui‑ce) exists but shows little activity, causing hesitation about depending on it.
  • Debate over strategy: some argue for pure-Rust stacks; others suggest Rust should wrap mature C/C++ toolkits (Qt, GTK, native APIs) to avoid redoing decades of work, especially in accessibility and text handling.

Immediate vs Retained-Mode GUI Discussion

  • Long subthread disputes the history and attribution of “immediate mode” GUIs: many insist the concept predates modern game dev and Casey Muratori; he mainly coined/repopularized terminology for UI.
  • Consensus that immediate-mode GUIs are great for tools and games but often poor for mainstream apps due to weak i18n, complex text editing, and accessibility, which are hard regardless of mode and rarely fully implemented.

Broader Views on Zed

  • Fans praise Zed’s smoothness (especially on high-refresh displays), lowish RAM vs VSCode, fast project-wide search and multibuffers, and integrated AI/agent workflow.
  • Critics report crashes, regressions, high CPU on some platforms, blurry fonts on non-retina or subpixel-mismatched displays, lack of advanced refactorings compared to JetBrains, and frustration with past Blade-induced breakages.
  • Some worry about accumulating technical debt (custom CRDT-based collaboration, in-house UI stack) and a shift from “labor-of-love OSS” to strictly “business-relevant” work under VC constraints, with GPUI’s de-prioritization as a visible symptom.