• เขียนเรนเดอเรอร์สำหรับ Linux ใหม่โดยอิง wgpu เพื่อนำไลบรารีกราฟิก Blade เดิมออก
  • Blade เดิม ก่อให้เกิดปัญหาหลายอย่างทั้งกับผู้ใช้ Zed และแอปของบุคคลที่สาม ขณะที่ wgpu เป็นมาตรฐานของ ecosystem Rust ที่ให้ความเข้ากันได้กว้างกว่าและมีโอกาสพัฒนาต่อได้มากกว่า
  • การติดตั้งใช้งานใหม่ช่วยแก้หลายปัญหา รวมถึง อาการค้างในสภาพแวดล้อม NVIDIA และ Wayland และปิดบั๊กรายงานที่เกี่ยวข้องจำนวนมาก
  • ระหว่างกระบวนการรีวิวได้มีการ ปรับแต่งการใช้หน่วยความจำและประสิทธิภาพ ทำให้การใช้ CPU ดีขึ้นราว 20% ส่วนเวลา GPU ยังคงอยู่ในระดับใกล้เคียงเดิม
  • การเปลี่ยนแปลงครั้งนี้ช่วยยกระดับ เสถียรภาพและความสามารถในการบำรุงรักษากราฟิกของ Zed บน Linux อย่างมาก

การเปลี่ยน Linux renderer ไปใช้ wgpu

  • ปัญหาเกิดขึ้นกับ Zed และแอปที่สร้างบน GPUI เนื่องจาก ความซับซ้อนและข้อผิดพลาดของไลบรารีกราฟิก Blade เดิม
    • มีรายงานการแครชและอาการค้างไม่เฉพาะจากผู้ใช้ Zed แต่รวมถึงแอป 3rd-party อื่น ๆ ด้วย
  • การติดตั้งใช้งานใหม่ใช้ wgpu ซึ่งเป็นกราฟิก API มาตรฐานของ ecosystem Rust
    • ใช้พื้นฐานเทคโนโลยีเดียวกับโปรเจ็กต์หลักอย่าง Bevy และ Iced จึงสามารถรับประโยชน์จากการพัฒนาในอนาคตร่วมกันได้
  • ประเด็นที่เกี่ยวข้องรวมถึง #44814, #40481, niri-wm/niri#2335, zortax/zlaunch#15 เป็นต้น

ประเด็นด้านประสิทธิภาพและความเข้ากันได้

  • นักพัฒนาบางส่วนชี้ให้เห็นว่า wgpu มี การใช้หน่วยความจำเพิ่มขึ้น
    • ในสภาพแวดล้อม Windows มีรายงานว่าเมื่อเปิดหน้าต่างเปล่า wgpu ใช้ประมาณ 100MB ขณะที่ gpui renderer เดิมใช้ราว 10MB
  • ทางฝั่งผู้พัฒนาอธิบายว่า wgpu มี การใช้หน่วยความจำเริ่มต้นเพิ่มขึ้นจากการจองบัฟเฟอร์ล่วงหน้า แต่เมื่อเรนเดอร์จริงแล้วความแตกต่างไม่ได้มากนัก
  • ในการพูดคุยเรื่องการใช้หน่วยความจำ GPU ผู้ใช้บางรายรายงานว่า VRAM เพิ่มขึ้นราว 30MB แต่ในสภาพแวดล้อมอื่นก็พบว่าไม่มีความแตกต่าง

ขอบเขตการใช้งานตามแพลตฟอร์ม

  • บน Mac และ Windows จะยังคง ใช้ native renderer เดิมต่อไป
    • reflectronic ระบุว่า “native renderer บนแพลตฟอร์มเหล่านี้ให้ประสิทธิภาพและความเข้ากันได้ดีกว่า”
  • zortax โต้แย้งว่า wgpu รองรับ backend ได้หลากหลาย เช่น Vulkan, DirectX12, ANGLE(OpenGL ES) จึงอาจช่วยขยายความเข้ากันได้มากขึ้นแทน
  • maddythewisp เสนอว่าอาจใช้ คุณสมบัติข้ามแพลตฟอร์มของ wgpu เพื่อเปิดใช้งานแบบเลือกได้บน Mac และ Windows เช่นกัน

การปรับแต่งและเบนช์มาร์ก

  • reflectronic เพิ่มคอมมิตปรับแต่งหลายรายการ เช่น การนำบัฟเฟอร์เดี่ยวกลับมาใช้ซ้ำ, การสร้าง bind group ล่วงหน้า, การรวมบัฟเฟอร์ส่วนกลาง
  • จากคอมมิตล่าสุด (f988a34) พบว่า เวลา CPU สำหรับการวาดดีขึ้นราว 20% ส่วนเวลา GPU ใกล้เคียงเดิม
    • ค่า CPU median ลดลงจาก 301µs → 238µs
  • มีรายงานว่าการใช้หน่วยความจำก็ดีขึ้นเมื่อเทียบกับ Zed Stable

การรวมโค้ดและข้อสรุป

  • หลังรีวิวขั้นสุดท้าย reflectronic อนุมัติว่า “ทุกอย่างพร้อมแล้ว” และ ถูกรวมเข้า main branch เมื่อวันที่ 13 กุมภาพันธ์ 2026
  • backend ของ Blade จะ “ไม่ถูกใช้งานใน Zed อีกต่อไป และไม่มีแผนจะบำรุงรักษาต่อ”
  • การเปลี่ยนครั้งนี้ทำให้ Linux graphics stack ของ Zed ถูกรวมศูนย์บนพื้นฐาน wgpu และช่วยเสริมความเชื่อมโยงทางเทคนิคกับ ecosystem Rust ในอนาคต

ยังไม่มีความคิดเห็น

ยังไม่มีความคิดเห็น