Dasturlash

Zed muharririda Blade o‘rnini wgpu grafik kutubxonasi egalladi: Nima o‘zgaradi?

2-mart, 2026, 04:116 ko'rish3 daqiqa o'qish
Zed muharririda Blade o‘rnini wgpu grafik kutubxonasi egalladi: Nima o‘zgaradi?

Zed – Rust tilida yozilgan, tezkor va kengaytiriladigan kod muharriri – yaqinda o‘zining grafik kutubxonasini yangilashga qaror qildi. Blade deb ataluvchi eski kutubxona o‘rniga wgpu (WebGPU) integratsiya qilinmoqda. Ushbu o‘zgarish nafaqat Zed foydalanuvchilari, balki GPUI (Zed’ning UI asosini tashkil etuvchi kutubxona) dan foydalanuan boshqa dasturlarga ham ijobiy ta’sir ko‘rsatadi.

Blade kutubxonasi nima edi va nega u muammoli edi?

Blade – Linux platformasida grafik chizish uchun yaratilgan, lekin ko‘plab xatoliklar, barqarorlik muammolari va apparatga bog‘liq cheklovlar bilan tanilgan kutubxona edi. Zed foydalanuvchilari orasida freeze (muzlash) holatlari, ayniqsa NVIDIA grafik kartalari va Smithay‑asosli Wayland kompozitorlari bilan ishlashda, keng tarqalgan edi. Shuningdek, Blade’ni boshqa open‑source loyihalar (masalan, Bevy, Iced) bilan birgalikda qo‘llash qiyin bo‘lib, rivojlanish tezligini susaytirardi.

wgpu nima va u qanday afzalliklar beradi?

wgpu – Rust ekotizimida de‑facto standart bo‘lgan, WebGPU spetsifikatsiyasiga asoslangan kross‑platforma grafik API. U quyidagi xususiyatlarga ega:

  • Kross‑platforma: Linux, macOS, Windows va hatto veb‑brauzer (WebAssembly)da bir xil kod bazasini ishlatish imkonini beradi.
  • Yuqori samaradorlik: GPU resurslarini samarali boshqarish, asinxron komanda yuborish va minimal kechikish.
  • Keng hamjamiyat: Bevy, Iced, nannou kabi mashhur Rust loyihalari wgpu’dan foydalangan, shu sababli yangi xatoliklar va optimallashtirishlar tezda tarqatiladi.
  • Barqarorlik: GPU drayverlari bilan moslashuvchanlik, xususan NVIDIA, AMD va Intel kartalarida bir xil natija.

Zed’ning wgpu‑ga ko‘chishi qanday amalga oshirildi?

GPUI jamoasi Blade kutubxonasini butunlay olib tashlab, Linux rendereri uchun wgpu‑ni integratsiya qildi. Bu jarayon 27 ta commit va bir necha muhim PR (pull request) orqali amalga oshirildi. Asosiy kod o‘zgarishlari quyidagilarni o‘z ichiga oladi:

  • Blade‑ga bog‘liq bo‘lgan barcha API chaqiruvlarini wgpu‑ning Device, Queue va Surface obyektlariga almashtirish.
  • Yangi RenderPass va SwapChain mexanizmlarini yaratish, bu esa ekran yangilanishini aniqroq boshqarish imkonini beradi.
  • Xatoliklarni qayta ishlashni soddalashtirish – wgpu‑ning o‘z xatolik tiplari aniq va tushunarli.

Bu o‘zgarish natijasida Zed foydalanuvchilari quyidagi muammolardan xalos bo‘lishi kutilmoqda:

  • NVIDIA grafik kartalarida “freeze” holatlari kamayadi.
  • Wayland kompozitorlari (masalan, Niri‑WM) bilan muvofiqlik yaxshilanadi.
  • Yangi GPU drayverlari va wgpu‑ning kelajakdagi yangilanishlari Zed’ga avtomatik tarzda foyda keltiradi.

Kelajakda nimalar kutilmoqda?

wgpu‑ning kross‑platforma imkoniyatlari Zed’ning MacOS va Windows versiyalarida ham qo‘llanilishi mumkinligini ko‘rsatadi. Jamoa hozirda “feature flag” (xususiyat bayrog‘i) orqali bu platformalarda wgpu‑ni yoqish yoki o‘chirishni rejalashtirmoqda. Bu esa Zed’ning barcha foydalanuvchilari uchun bir xil grafik tajribasini ta’minlaydi.

Shuningdek, wgpu‑ning WebAssembly (Wasm) qo‘llab‑quvvatlashi Zed’ni brauzerda ishlatish imkoniyatini ham ochadi, lekin bu uchun fon vazifalari, fayl tizimi va kirish‑chiqish API‑larini ham moslashtirish kerak bo‘ladi.

Natija

Blade’dan wgpu‑ga ko‘chish Zed editorining texnik asosini mustahkamlaydi, barqarorlikni oshiradi va kelajakdagi innovatsiyalarni osonroq qabul qilishga yo‘l ochadi. Rust hamjamiyati uchun bu ham yaxshi yangilik, chunki wgpu‑ga asoslangan ko‘plab loyihalar birgalikda rivojlanadi, xatoliklar va optimallashtirishlar tezda tarqatiladi.

Manba: Hacker News
#Zed editor #wgpu #Rust #GPUI #grafik kutubxonasi
Telegram da muhokama qilish