Bu seferki WebGPU özelliklerinin sayısı biraz az gibi görünse de önemli gelişmeler yakında kullanıma sunulacak. Sonraki sürümler DP4a, salt okunur ve okuma-yazma depolama dokuları, ayrı şablon ve derinlik en boy kontrolü, 3D doku dilimleri oluşturma ve gölgelendirici derleme iyileştirmeleri gibi özellikler içerir.
Bu sırada, Headless Chrome'da WebGPU ve WebGL desteğiyle Web yapay zeka model testinizi nasıl hızlandıracağınızı ve WebGPU'nun Chrome'da devre dışı bırakılmasının veya çalışmamasının nedenlerini öğrenin.
Uyumluluk modu ile erişimi genişletin (geliştirilmekte olan özellik)
WebGPU, modern grafik API'leriyle (Vulkan, Metal ve D3D12) uyumludur, ancak bazı cihazlarda bunlar için destek yoktur. Bu durum, özellikle Windows (Chrome kullanıcılarının %31'inde D3D11.1 veya sonraki sürümler yoktur), Android (%23'ünde Vulkan 1.1 veya sonraki sürümler yoktur) ve ChromeOS (Vulkan'ın kullanımı artıyor) gibi platformlarda WebGPU'nun erişilebilirliğini sınırlar.
Chrome ekibi, D3D11 ve OpenGL ES gibi eski API'lerde çalışan biraz kısıtlı bir WebGPU sürümü sunarak bu sorunu gidermek için WebGPU'da bir uyumluluk modu üzerinde çalışıyor. Bu sayede WebGPU'nun potansiyel kullanıcı tabanı genişleyecektir.
Önemli bir nokta, uyumluluk modunu kullanan uygulamaların tamamen geçerli WebGPU uygulamaları olarak kalmasıdır. Uyumluluk modu desteği olmayan cihazlar, varsayılan olarak temel WebGPU bağdaştırıcısı kullanır. Bu sayede, geniş bir kullanılabilirlik sağlanır.
Sorularınız varsa teklifi ve yorumları inceleyin.
MaxVertexAttributes sınırını artır
GPURenderPipeline oluşturulurken arabelleklerdeki toplam maksimum özellik sayısı varsayılan olarak 16'dır. Desteklendiğinde maxVertexAttributes sınırını kullanarak 30'a kadar istek gönderebilirsiniz. Aşağıdaki örneği ve sorun şafak:2223 bilgisini inceleyin.
const adapter = await navigator.gpu.requestAdapter();
if (adapter.limits.maxVertexAttributes < 30) {
// When the desired limit isn't supported, take action to either fall back to
// a code path that does not require the higher limit or notify the user that
// their device does not meet minimum requirements.
}
// Request highest limit of max vertex attributes.
const device = await adapter.requestDevice({
requiredLimits: { maxVertexAttributes: 30 },
});
Şafak güncellemeleri
"expose_wgsl_experimental_features" adlı yeni bir örnek açma/kapatma düğmesi eklendi. Bu düğme, örneğin yalnızca deneysel WGSL özelliklerini göstermesini ve güvenli olmayan özellikleri göstermemesini sağlar. Böylece güvenli deneysel WGSL özellikleri, "allow_unsafe_apis" açma/kapatma düğmesini etkinleştirmeye gerek kalmadan kullanılabilir. issue dawn:2260 konusuna bakın.
Node.js için Dawn bağlamalarında yapılan son iyileştirmeler şunlardır:
GPUSupportedFeatures::getSize()
eklendi.GPUAdapter
eskilik özelliği uygulandı.GPUInternalError
artık cihazlar için doğru şekilde raporlanıyor.- Özellikler artık numaralandırılabilir.
Bu, önemli noktalardan yalnızca bazılarını kapsar. Kapsamlı commit listesine göz atın.
WebGPU'daki Yenilikler
WebGPU'daki Yenilikler serisinde ele alınan tüm konuların listesi.
Chrome 131
- Mesafeleri WGSL'de kırp
- GPUCanvasContext getConfiguration()
- Nokta ve çizgi temel öğeleri derinlik sapmasına sahip olmamalıdır
- Alt gruplar için dahili kapsayıcı tarama işlevleri
- Çoklu çizim için deneysel destek
- Gölgelendirici modülü derleme seçeneği katı matematik
- GPUAdapter requestAdapterInfo() işlevini kaldırma
- Dawn güncellemeleri
Chrome 130
- İkili kaynak karıştırma
- Metal'de gölgelendirici derleme süresiyle ilgili iyileştirmeler
- GPUAdapter requestAdapterInfo() işlevinin kullanımdan kaldırılması
- Dawn güncellemeleri
Chrome 129 sürümü
Chrome 128
- Alt gruplarla deneme yapma
- Çizgiler ve noktalar için derinlik önyargısı ayarının desteği sonlandırıldı
- preventDefault ise yakalanmamış hata olan Geliştirici Araçları uyarısını gizle
- WGSL, önce örneklemeyi enterpolasyona tabi tutar ve ardından
- Gün doğumu güncellemeleri
Chrome 127
- Android'de OpenGL ES için deneysel destek
- GPUAdapter bilgi özelliği
- WebAssembly birlikte çalışabilirlik iyileştirmeleri
- İyileştirilmiş komut kodlayıcı hataları
- Gün doğumu güncellemeleri
Chrome 126
- maxTextureArrayLayers sınırını artırma
- Vulkan arka uç için arabellek yükleme optimizasyonu
- Gölgelendirme derleme zamanı iyileştirmeleri
- Gönderilen komut arabellekleri benzersiz olmalıdır
- Dawn güncellemeleri
Chrome 125 sürümü
Chrome 124 sürümü
- Salt okunur ve okuma/yazma depolama alanı dokuları
- Hizmet çalışanları ve paylaşılan çalışanlar desteği
- Yeni adaptör bilgileri özellikleri
- Hata düzeltmeleri
- Dawn güncellemeleri
Chrome 123
- WGSL'de DP4a yerleşik işlev desteği
- WGSL'deki kısıtlanmamış işaretçi parametreleri
- WGSL'de bileşimlerin referansını kaldırmak için söz dizimi
- Şablon ve derinlik özellikleri için ayrı salt okunur durum
- Dawn güncellemeleri
Chrome 122
- Uyumluluk modu ile erişimi genişletin (geliştirme aşamasındaki özellik)
- maxVertexAttributes sınırını artırma
- Dawn güncellemeleri
Chrome 121
- Android'de WebGPU desteği
- Windows'da gölgelendirici derlemesi için FXC yerine DXC'yi kullanın
- Bilgi işlem ve oluşturma kartlarında zaman damgası sorguları
- Gölgelendirici modüllerinin varsayılan giriş noktaları
- display-p3'ü GPUExternalTexture renk alanı olarak destekle
- Bellek yığınları bilgileri
- Dawn güncellemeleri
Chrome 120
- WGSL'de 16 bit kayan nokta değerleri desteği
- Sınırları zorlayın
- Derinlik-gölge durumuyla ilgili değişiklikler
- Adaptör bilgileri güncellemeleri
- Zaman damgası sorgularının kesirli sayılara dönüştürülmesi
- Bahar temizliği özellikleri
Chrome 119
- Filtrelenebilir 32 bit kayan noktalı dokular
- unorm10-10-10-2 köşe noktası biçimi
- AdX10a2uint doku biçimi
- Dawn güncellemeleri
Chrome 118
copyExternalImageToTexture()
'te HTMLImageElement ve ImageData desteği- Okunma-yazma ve salt okunur depolama dokusu için deneysel destek
- Dawn güncellemeleri
Chrome 117
- Köşe noktası arabelleğinin ayarını kaldırma
- Bağlama grubunu kaldırma
- Cihaz kaybolduğunda eşzamansız ardışık düzen oluşturma işlemlerinden kaynaklanan hataları yoksayma
- SPIR-V gölgelendirici modülü oluşturma güncellemeleri
- Geliştirici deneyimini iyileştirme
- Otomatik olarak oluşturulan düzenle ardışık düzenleri önbelleğe alma
- Dawn güncellemeleri
Chrome 116
- WebCodecs entegrasyonu
- Kayıp cihaz, GPUAdapter
requestDevice()
tarafından döndürüldü importExternalTexture()
çağrılırsa video oynatmanın sorunsuz olmasını sağlama- Spesifikasyona uygunluk
- Geliştirici deneyimini iyileştirme
- Dawn güncellemeleri
Chrome 115
- Desteklenen WGSL dil uzantıları
- Direct3D 11 için deneysel destek
- AC güç kaynağında varsayılan olarak ayrı GPU'yu etkinleştirme
- Geliştirici deneyimini iyileştirme
- Dawn güncellemeleri
Chrome 114 sürümü
- JavaScript'i optimize etme
- Yapılandırılmamış kanvasta getCurrentTexture() InvalidStateError hatası veriyor
- WGSL ile ilgili güncellemeler
- Dawn güncellemeleri
Chrome 113
importExternalTexture()
dosyasında WebCodecs VideoFrame kaynağını kullanma