- Renderer für Linux auf Basis von wgpu neu implementiert und damit die bisherige Blade-Grafikbibliothek entfernt
- Das bisherige Blade verursachte mehrere Probleme für Zed-Nutzer und Apps von Drittanbietern; wgpu gilt als Standard im Rust-Ökosystem und bietet breitere Kompatibilität sowie Potenzial für Verbesserungen
- Die neue Implementierung behebt mehrere Probleme, darunter Freezes in NVIDIA- und Wayland-Umgebungen, und schließt zahlreiche zugehörige Bug-Reports
- Im Review-Prozess wurden Speichernutzung und Performance optimiert, wodurch sich die CPU-Auslastung um etwa 20 % verbessert, während die GPU-Zeit auf ähnlichem Niveau bleibt
- Durch diese Änderung werden Stabilität und Wartbarkeit der Linux-Grafik von Zed deutlich verbessert
Umstellung des Linux-Renderers auf wgpu
- Durch die Komplexität und Fehleranfälligkeit der Blade-Grafikbibliothek traten Probleme in Zed und in Apps auf Basis von GPUI auf
- Nicht nur Zed-Nutzer, sondern auch andere 3rd-party-Apps meldeten Abstürze und Freezes
- Die neue Implementierung verwendet wgpu, die Standard-Grafik-API im Rust-Ökosystem
- Sie basiert damit auf derselben Technik wie wichtige Projekte wie Bevy und Iced, wodurch künftige Verbesserungen gemeinsam genutzt werden können
- Zu den relevanten Issues gehören #44814, #40481, niri-wm/niri#2335, zortax/zlaunch#15
Diskussion zu Performance und Kompatibilität
- Einige Entwickler wiesen auf den höheren Speicherverbrauch von wgpu hin
- Unter Windows wurden für ein leeres Fenster bei wgpu etwa 100 MB gemeldet, beim bisherigen gpui-Renderer etwa 10 MB
- Dazu wurde erläutert, dass wgpu anfangs mehr Speicher durch vorab allokierte Buffer belegt, der Unterschied beim tatsächlichen Rendering jedoch nicht groß sei
- In der Diskussion um den GPU-Speicherverbrauch berichteten einige Nutzer von mehr VRAM-Nutzung (ca. 30 MB), in anderen Umgebungen wurde jedoch kein Unterschied festgestellt
Plattformbezogener Geltungsbereich
- Auf Mac und Windows werden die bestehenden nativen Renderer beibehalten
- reflectronic erwähnte, dass „die nativen Renderer auf diesen Plattformen bessere Performance und Kompatibilität bieten“
- zortax entgegnete, dass wgpu durch Unterstützung verschiedener Backends wie Vulkan, DirectX12, ANGLE (OpenGL ES) die Kompatibilität sogar erweitern könne
- maddythewisp schlug vor, die Cross-Platform-Eigenschaften von wgpu zu nutzen, um es auch auf Mac und Windows optional aktivieren zu können
Optimierungen und Benchmarks
- reflectronic fügte zahlreiche Optimierungs-Commits hinzu, darunter Wiederverwendung eines einzelnen Buffers, vorab erzeugte Bind Groups und Zusammenführung globaler Buffer
- Stand des neuesten Commits (f988a34): CPU-Draw-Zeit um etwa 20 % verbessert, GPU-Zeit ähnlich wie zuvor
- CPU-Median von 301µs auf 238µs gesunken
- Auch der Speicherverbrauch soll sich im Vergleich zu Zed Stable verbessert haben
Merge und Fazit
- Nach dem finalen Review genehmigte reflectronic mit der Aussage, „alles ist bereit“, und der Code wurde am 13. Februar 2026 in den main-Branch gemergt
- Das Blade-Backend wird „in Zed nicht mehr verwendet und künftig nicht mehr gewartet“
- Mit dieser Umstellung wird der Linux-Grafik-Stack von Zed auf wgpu vereinheitlicht, was die technische Anbindung an das Rust-Ökosystem künftig stärkt
Noch keine Kommentare.