- Se reimplementó el renderizador para Linux sobre wgpu, eliminando la biblioteca gráfica Blade existente
- Blade provocaba varios problemas en Zed y en apps de terceros, mientras que wgpu, como estándar del ecosistema Rust, ofrece mayor compatibilidad y margen de mejora
- La nueva implementación resuelve varios problemas, incluido el congelamiento en entornos con NVIDIA y Wayland, y cierra numerosos reportes de errores relacionados
- Durante la revisión se realizaron optimizaciones de uso de memoria y rendimiento, con una mejora de aproximadamente 20% en el uso de CPU, mientras que el tiempo de GPU se mantiene en niveles similares a los anteriores
- Con este cambio, la estabilidad gráfica y la mantenibilidad de Zed en Linux mejoran de forma significativa
Cambio del renderizador de Linux a wgpu
- La complejidad y los errores de la biblioteca gráfica Blade causaban problemas en Zed y en apps basadas en GPUI
- Se reportaron fallos y congelamientos no solo en Zed, sino también en otras apps de terceros
- La nueva implementación usa wgpu, la API gráfica estándar del ecosistema Rust
- Comparte la misma base tecnológica que proyectos importantes como Bevy e Iced, por lo que podrá beneficiarse de futuras mejoras
- Entre los issues relacionados están #44814, #40481, niri-wm/niri#2335, zortax/zlaunch#15
Debate sobre rendimiento y compatibilidad
- Algunos desarrolladores señalaron el aumento en el uso de memoria de wgpu
- En Windows, con una ventana vacía como referencia, se reportó que wgpu usa unos 100MB, mientras que el renderizador gpui anterior usaba unos 10MB
- En respuesta, se explicó que wgpu incrementa la memoria inicial por la preasignación de buffers, pero que durante el renderizado real la diferencia no es grande
- En la discusión sobre uso de memoria de GPU, algunos usuarios reportaron un aumento de VRAM (unos 30MB), aunque en otros entornos se confirmó que no había diferencia
Alcance por plataforma
- En Mac y Windows se mantienen los renderizadores nativos existentes
- reflectronic mencionó que “los renderizadores nativos de estas plataformas ofrecen mejor rendimiento y compatibilidad”
- zortax respondió que wgpu soporta varios backends como Vulkan, DirectX12 y ANGLE (OpenGL ES), por lo que en realidad podría ampliar la compatibilidad
- maddythewisp propuso aprovechar la naturaleza multiplataforma de wgpu para habilitarlo opcionalmente también en Mac y Windows
Optimización y benchmarks
- reflectronic añadió varios commits de optimización, como reutilización de un solo buffer, creación anticipada de bind groups e integración de buffers globales
- Según el commit más reciente (f988a34), el tiempo de dibujo en CPU mejora cerca de 20%, mientras que el tiempo de GPU se mantiene similar al anterior
- La mediana de CPU bajó de 301µs a 238µs
- También se reportó que el uso de memoria mejoró frente a Zed Stable
Fusión y conclusión
- Tras la revisión final, reflectronic aprobó el cambio diciendo que “todo está listo”, y se fusionó en la rama main el 13 de febrero de 2026
- El backend de Blade “ya no se usará en Zed y no está previsto seguir manteniéndolo”
- Con esta transición, el stack gráfico de Zed en Linux queda unificado sobre wgpu, reforzando a futuro la integración técnica con el ecosistema Rust
Aún no hay comentarios.