Firefox dan Safari untuk Mendapatkan Sokongan WebGPU

Mozilla telah memutuskan untuk mendayakan sokongan untuk WebGPU API dan WGSL (WebGPU Shading Language) dalam Firefox. Untuk platform tersebut Windows Sokongan WebGPU akan diaktifkan secara lalai dalam Firefox 141, dijadualkan pada 22 Julai. Sokongan WebGPU kemudiannya dirancang untuk diaktifkan dalam binaan untuk bulan-bulan berikut: Linux и macOS, dan selepas beberapa ketika dalam versi untuk platform tersebut AndroidUntuk mendayakan WebGPU secara manual, anda boleh menggunakan parameter "dom.webgpu.enabled" dan "gfx.webrender.all" pada halaman about:config.

Dalam Chrome, sokongan WebGPU ditawarkan secara lalai dalam versi 113, dikeluarkan pada Mei 2023. Dalam Safari, sokongan WebGPU dirancang untuk didayakan secara lalai pada musim luruh ini (sokongan percubaan telah tersedia sejak November 2021). Dalam Firefox, sokongan WebGPU percubaan telah wujud sejak 2020, tetapi hanya didayakan secara lalai dalam binaan Firefox setiap malam. Pelaksanaan WebGPU Firefox adalah berdasarkan kod projek WGPU, ditulis dalam Rust dan mampu berjalan di atas API grafik Direct3D 12, Vulkan, OpenGL dan Metal.

WebGPU menyediakan API yang serupa dengan Vulkan, Metal dan Direct3D 12 untuk melaksanakan operasi pada bahagian GPU. Selain grafik 3D, WebGPU juga meliputi keupayaan yang berkaitan dengan pemuatan pengiraan ke bahagian GPU dan melaksanakan shader. Dari segi konsep, WebGPU berbeza daripada spesifikasi WebGL lama dengan cara yang sama seperti API grafik Vulkan berbeza daripada OpenGL. Pada masa yang sama, WebGPU tidak berdasarkan API grafik tertentu, tetapi merupakan lapisan universal yang menggunakan primitif peringkat rendah yang sama yang tersedia dalam Vulkan, Metal dan Direct3D.

WebGPU membolehkan aplikasi JavaScript untuk mengawal organisasi, pemprosesan dan penghantaran arahan kepada GPU, dan mengurus sumber yang berkaitan, memori, penimbal, objek tekstur dan pelorek grafik yang dihimpun. Pendekatan ini membolehkan prestasi aplikasi grafik yang lebih tinggi dengan mengurangkan overhed dan meningkatkan kecekapan bekerja dengan GPU.

Dengan WebGPU, anda boleh mencipta projek 3D kompleks agnostik platform yang berprestasi serta program kendiri yang secara langsung menggunakan Vulkan, Metal atau Direct3D. WebGPU juga menyediakan keupayaan tambahan untuk mengalihkan program grafik asli ke bentuk yang boleh dijalankan dalam penyemak imbas, terima kasih kepada penyusunan kepada WebAssembly.

Ciri utama WebGPU dan perbezaan daripada WebGL:

  • Pengurusan sumber yang berasingan, kerja persediaan dan penghantaran arahan kepada GPU (dalam WebGL satu objek bertanggungjawab untuk semuanya sekaligus). Tiga konteks berasingan disediakan: GPUDevice untuk mencipta sumber seperti tekstur dan penimbal; GPUCommandEncoder untuk pengekodan perintah individu, termasuk peringkat pemaparan dan pengiraan; GPUCommandBuffer akan dibariskan untuk pelaksanaan pada GPU. Hasilnya boleh dipaparkan dalam kawasan yang dikaitkan dengan satu atau lebih elemen kanvas, atau diproses tanpa output (contohnya, semasa menjalankan tugas pengiraan). Mengasingkan peringkat memudahkan untuk mengasingkan penciptaan sumber dan operasi penyediaan kepada pengendali yang berbeza yang boleh dijalankan pada urutan yang berbeza.
  • Pendekatan yang berbeza untuk memproses keadaan. WebGPU menawarkan dua objek - GPURenderPipeline dan GPUComputePipeline, yang membolehkan anda menggabungkan pelbagai keadaan yang dipratakrifkan oleh pembangun, yang membolehkan penyemak imbas tidak membuang sumber untuk kerja tambahan, seperti menyusun semula shader. Keadaan yang disokong termasuk: pelorek, buffer buffer dan reka letak atribut, reka letak kumpulan melekit, pengadunan, kedalaman dan corak serta format output selepas pemaparan.
  • Model yang mengikat sama seperti ciri pengumpulan sumber Vulkan. Untuk mengumpulkan sumber bersama, WebGPU menyediakan objek GPUBindGroup, yang boleh dikaitkan dengan objek lain yang serupa untuk digunakan dalam pelorek semasa menulis arahan. Mencipta kumpulan sedemikian membolehkan pemandu melakukan tindakan persediaan yang diperlukan lebih awal, dan membolehkan penyemak imbas menukar pengikatan sumber antara panggilan cabutan dengan lebih pantas. Reka letak pengikatan sumber boleh dipratentukan menggunakan objek GPUBindGroupLayout.

Sumber: opennet.ru

Beli pengehosan yang boleh dipercayai untuk tapak dengan perlindungan DDoS, pelayan VPS VDS 🔥 Beli pengehosan laman web yang boleh dipercayai dengan perlindungan DDoS, pelayan VPS VDS | ProHoster