Chrome zaten WebGPU desteğine sahip olacak ve varsayılan olarak etkinleştirilecek

Web GPU Chrome

Yıllarca süren geliştirmeden sonra, Chrome ekibi WebGPU'yu piyasaya sürdü

Birkaç gün önce Google açıkladı duyurulan biri aracılığıyla WebGPU grafik API'si için varsayılan destek ve WebGPU Gölgeleme Dili (WGSL) Chrome 113 dalında2 Mayıs'ta piyasaya sürülmesi planlanıyor.

WebGPU'dan habersiz olanlar için bilmelisiniz ki Vulkan, Metal ve Direct3D 12'ye benzer bir API sağlar oluşturma ve hesaplama gibi GPU tarafı işlemlerini gerçekleştirmek ve ayrıca GPU tarafı programları yazmak için bir gölgelendirici dilinin kullanılmasına izin verir.

WebGPU hakkında

Kavramsal olarak, Vulkan grafik API'sinin OpenGL'den farklı olması gibi, WebGPU da WebGL'den farklıdır. ancak WebGPU, belirli bir grafik API'sine dayanmaz, bunun yerine Vulkan'da bulunan aynı düşük seviyeli ilkelleri kullanan genel amaçlı bir katmandır. Metal ve Direct3D. Web GPU'su JavaScript uygulamalarına organizasyon üzerinde düşük seviyeli kontrol sağlar, komutları işleme ve GPU'ya iletme, ilişkili kaynakları, belleği, arabellekleri, doku nesnelerini ve derlenmiş grafik gölgelendiricileri yönetme. Bu yaklaşım, ek yükü azaltarak ve GPU verimliliğini artırarak daha yüksek performanslı grafik uygulamaları elde etmenizi sağlar.

WebGPU'su web için karmaşık 3B projeler oluşturmanıza olanak sağlar doğrudan Vulkan, Metal veya Direct3D kullanan, ancak belirli platformlara bağlı olmayan bağımsız programlar kadar iyi çalışır. Web GPU'su ayrıca yerel grafik programlarını taşımak için ek seçenekler sunar WebAssembly'de derleyerek web özellikli bir forma dönüştürün. WebGPU, 3B grafiklere ek olarak hesaplamaların GPU tarafına boşaltılması ve gölgelendiricilerin çalıştırılmasıyla ilgili olasılıkları da kapsar.

WebGPU'nun temel özelliklerinden aşağıdakileri vurgulayabiliriz:

  • Kaynakların ayrı yönetimi, hazırlık çalışmaları ve komutların iletimi GPU'ya (WebGL'de, her şeyden aynı anda bir nesne sorumluydu). Üç ayrı bağlam sağlanır: Dokular ve arabellekler gibi kaynaklar oluşturmak için GPUDevice; İşleme ve hesaplama aşamaları dahil olmak üzere tek tek komutları kodlamak için GPUCommandEncoder; GPUCommandBuffer, GPU yürütme kuyruğuna geçmek için.
    Sonuç, bir veya daha fazla tuval öğesiyle ilişkili bir alanda işlenebilir veya çıktı olmadan işlenebilir (örneğin, hesaplamalı görevler çalıştırılırken). Hazırlama, kaynak oluşturma ve sağlama işlemlerini farklı iş parçacığı üzerinde çalışabilen farklı denetleyicilere ayırmayı kolaylaştırır.
  • Durum yönetimine farklı bir yaklaşım. WebGPU, geliştirici tarafından önceden tanımlanmış farklı durumları birleştirmenize izin veren iki nesne, GPURenderPipeline ve GPUComputePipeline sağlar ve tarayıcının gölgelendiricileri yeniden derleme gibi ek işlerde kaynakları boşa harcamamasını mümkün kılar. Desteklenen durumlar şunları içerir: gölgelendiriciler, köşe arabelleği ve öznitelik düzenleri, sabit grup düzenleri, karıştırma, derinlik ve desenler, oluşturma sonrası çıktı biçimleri.
  • Vulkan'ın kaynak birleştirme araçlarına çok benzeyen bir bağlama modeli. Kaynakları gruplar halinde gruplandırmak için WebGPU, komut kaydı sırasında gölgelendiricilerde kullanılmak üzere diğer benzer nesnelere bağlanabilen bir GPUBindGroup nesnesi sağlar.
    Bu tür grupların oluşturulması, denetleyicinin gerekli hazırlık eylemlerini önceden gerçekleştirmesine olanak tanır ve tarayıcının çizim çağrıları arasında kaynak bağlamalarını çok daha hızlı değiştirmesine olanak tanır. Kaynak bağlamalarının düzeni, GPUBindGroupLayout nesnesi kullanılarak önceden tanımlanabilir.

Chrome'a ​​ek olarak, deneysel WebGPU desteği, Nisan 2020'den beri Firefox'ta test edilmiştir ve Kasım 2021'den itibaren Safari'de. Firefox'ta WebGPU'yu etkinleştirmek için, about:config'de dom.webgpu.enabled ve gfx.webgpu.force-enabled bayraklarını ayarlamanız gerekir.

Firefox ve Safari'de WebGPU'yu varsayılan olarak etkinleştirmek için henüz bir plan yok. Firefox ve Chrome için geliştirilen WebGPU uygulamaları ayrı kitaplıklar olarak mevcuttur: WebGPU desteğini uygulamalarınıza entegre etmek için kullanabileceğiniz Dawn (C++) ve wgpu (Rust).

Ayrıca, yerel olarak WebGL kullanan popüler JavaScript kitaplıklarına WebGPU desteği eklemek için çalışmaların devam ettiğine dikkat edilmelidir. Örneğin, tam WebGPU desteği zaten Babylon.js'de ve kısmi olarak Three.js , PlayCanvas ve TensorFlow.js'de bildirilmiştir.

Uygulanması WebGPU yalnızca başlangıçta ChromeOS, macOS ve Windows yapılarında etkinleştirilecektir. Linux ve Android için ise WebGPU desteği daha sonraki bir tarihte etkinleştirilecektir.

Son olarak, bu konuda daha fazla bilgi edinmek istiyorsanız, ayrıntılara başvurabilirsiniz. Aşağıdaki bağlantıda.


Yorumunuzu bırakın

E-posta hesabınız yayınlanmayacak. Gerekli alanlar ile işaretlenmiştir *

*

*

  1. Verilerden sorumlu: AB Internet Networks 2008 SL
  2. Verilerin amacı: Kontrol SPAM, yorum yönetimi.
  3. Meşruiyet: Onayınız
  4. Verilerin iletilmesi: Veriler, yasal zorunluluk dışında üçüncü kişilere iletilmeyecektir.
  5. Veri depolama: Occentus Networks (AB) tarafından barındırılan veritabanı
  6. Haklar: Bilgilerinizi istediğiniz zaman sınırlayabilir, kurtarabilir ve silebilirsiniz.