2 điểm bởi GN⁺ 2026-02-14 | Chưa có bình luận nào. | Chia sẻ qua WhatsApp
  • Tái triển khai renderer cho Linux dựa trên wgpu, loại bỏ thư viện đồ họa Blade trước đây
  • Blade trước đó gây ra nhiều vấn đề cho người dùng Zed và các ứng dụng bên thứ ba, trong khi wgpu là tiêu chuẩn của hệ sinh thái Rust, mang lại khả năng tương thích rộng hơn và tiềm năng cải thiện tốt hơn
  • Bản triển khai mới giải quyết nhiều vấn đề, bao gồm lỗi treo máy trong môi trường NVIDIA và Wayland, đồng thời khép lại nhiều báo cáo lỗi liên quan
  • Trong quá trình review, đã tiến hành tối ưu hóa mức dùng bộ nhớ và hiệu năng, giúp cải thiện khoảng 20% mức sử dụng CPU, còn thời gian GPU giữ ở mức tương tự trước đó
  • Với thay đổi này, độ ổn định và khả năng bảo trì đồ họa trên Linux của Zed được cải thiện đáng kể

Chuyển renderer Linux sang wgpu

  • Các vấn đề đã phát sinh trong Zed và các ứng dụng dựa trên GPUI do độ phức tạp và lỗi của thư viện đồ họa Blade
    • Không chỉ người dùng Zed mà cả các ứng dụng third-party khác cũng báo cáo hiện tượng crash và treo
  • Bản triển khai mới sử dụng wgpu, API đồ họa tiêu chuẩn của hệ sinh thái Rust
    • Dùng cùng nền tảng công nghệ với các dự án lớn như Bevy, Iced, nên có thể cùng hưởng lợi từ các cải tiến trong tương lai
  • Các issue liên quan gồm #44814, #40481, niri-wm/niri#2335, zortax/zlaunch#15

Thảo luận về hiệu năng và khả năng tương thích

  • Một số nhà phát triển chỉ ra mức dùng bộ nhớ tăng lên của wgpu
    • Trên Windows, với cửa sổ trống, có báo cáo rằng wgpu dùng khoảng 100MB, còn renderer gpui cũ dùng khoảng 10MB
  • Đáp lại, có giải thích rằng wgpu tăng bộ nhớ ban đầu do cấp phát sẵn buffer, nhưng khi render thực tế thì chênh lệch không lớn
  • Trong thảo luận về mức dùng bộ nhớ GPU, một số người dùng báo cáo VRAM tăng lên (khoảng 30MB), nhưng ở môi trường khác thì xác nhận không có khác biệt

Phạm vi áp dụng theo nền tảng

  • Trên Mac và Windows, vẫn giữ renderer native hiện có
    • reflectronic cho biết “renderer native trên các nền tảng này mang lại hiệu năng và khả năng tương thích tốt hơn”
  • zortax phản biện rằng wgpu hỗ trợ nhiều backend như Vulkan, DirectX12, ANGLE(OpenGL ES), nên ngược lại còn có thể mở rộng khả năng tương thích
  • maddythewisp đề xuất có thể tận dụng đặc tính đa nền tảng của wgpu để cho phép bật tùy chọn này trên cả Mac và Windows

Tối ưu hóa và benchmark

  • reflectronic đã thêm nhiều commit tối ưu như tái sử dụng buffer đơn, tạo trước bind group, hợp nhất buffer toàn cục
  • Tính đến commit mới nhất (f988a34), thời gian draw trên CPU cải thiện khoảng 20%, còn thời gian GPU tương đương trước đây
    • CPU median giảm từ mức 301µs → 238µs
  • Mức dùng bộ nhớ cũng được báo cáo là đã cải thiện so với Zed Stable

Hợp nhất và kết luận

  • Sau review cuối cùng, reflectronic đã phê duyệt với nhận xét “mọi thứ đã sẵn sàng”, và được merge vào nhánh main ngày 13 tháng 2 năm 2026
  • Backend Blade sẽ không còn được dùng trong Zed và cũng không được tiếp tục bảo trì
  • Với lần chuyển đổi này, stack đồ họa Linux của Zed được thống nhất trên nền wgpu, đồng thời tăng cường liên kết kỹ thuật với hệ sinh thái Rust về sau

Chưa có bình luận nào.

Chưa có bình luận nào.