WebGPU'ya genel bakış

François Beaufort
François Beaufort

Yayınlanma tarihi: 20 Temmuz 2023, Son güncelleme tarihi: 11 Ağustos 2025

WebGPU, aynı grafikler için JavaScript iş yükünü büyük ölçüde azaltma ve makine öğrenimi modeli çıkarımlarında üç kattan fazla iyileştirme gibi önemli avantajlar sunan bir web grafikleri API'sidir. Bu, esnek GPU programlama ve WebGL'nin sağlamadığı gelişmiş özelliklere erişim sayesinde mümkündür.

API, web platformu göz önünde bulundurularak tasarlanmıştır. İdiyomatik bir JavaScript API'si, sözlerle entegrasyon, video içe aktarma desteği ve net hata mesajlarıyla geliştirilmiş bir geliştirici deneyimi sunar.

WebGPU, Mozilla, Apple, Intel ve Microsoft gibi büyük şirketlerin katkılarını içeren W3C'nin "Web İçin GPU" Topluluk Grubu'nun ortak çalışmasının sonucudur.

Tarayıcı desteği

WebGPU'nun bu ilk sürümü, Chrome 113'te, Vulkan desteği olan ChromeOS cihazlarda, Direct3D 12 desteği olan Windows cihazlarda ve macOS'te kullanıma sunuldu. Android desteği, Qualcomm ve ARM GPU'lar tarafından desteklenen Android 12 ve sonraki sürümlerin yüklü olduğu cihazlarda Chrome 121'de kullanıma sunuldu. Linux ve mevcut platformlar için genişletilmiş destek yakında kullanıma sunulacak.

WebGPU, Chrome'daki uygulamaya ek olarak Windows'da Firefox 141 ve Safari 26'da kullanıma sunuldu.

WebGPU'nun uygulama durumuyla ilgili en son güncellemeler için gpuweb uygulama durumu sayfasını kontrol edebilirsiniz.

Kitaplık desteği

Yaygın olarak kullanılan birçok WebGL kitaplığı, WebGPU desteğini uygulamaya başlamış veya uygulamayı tamamlamıştır. Bu nedenle, WebGPU kullanmak için tek satırlık bir değişiklik yapmanız yeterli olabilir.

Hem Chromium için Dawn kitaplığı hem de Firefox için wgpu kitaplığı bağımsız paket olarak kullanılabilir. İşletim sistemi GPU API'lerini soyutlayan ergonomik katmanlar ve mükemmel taşınabilirlik sunar. Bu kitaplıkları yerel uygulamalarda kullanmak, Emscripten ve Rust web-sys aracılığıyla WASM'ye taşımayı kolaylaştırır.

Kaynaklar

WebGPU önemli bir teknolojidir. Daha fazla bilgi edinmek için aşağıdaki kaynakları incelemenizi öneririz: