Firefox na-ewu kwa abalị gụnyere nkwado WebGPU

В abalị Firefox na-ewuli elu pụtara nkwado nkọwapụta WebGPU, nke na-enye interface mmemme maka nhazi eserese 3D yana mgbakọ n'akụkụ GPU, nke yiri API. ugwu mgbawa, metal и Direct3d 12. Mozilla, Google, Apple, Microsoft na ndị otu obodo na-emepụta nkọwapụta a otu ọrụ, nke otu W3C mere.

Ebumnuche bụ isi nke WebGPU bụ iji wepụta interface dị nchebe, enyi na enyi, obere na arụmọrụ dị elu maka ikpo okwu Weebụ iji kwalite teknụzụ eserese 3D na ike nke API ndị eserese sistemụ ọgbara ọhụrụ nyere, dị ka Direct3D 12 na Windows, Metal. na macOS, yana Vulkan na Linux. N'echiche, WebGPU dị iche na WebGL n'otu ụzọ ahụ Vulkan si dị iche na OpenGL, ma n'otu oge ahụ ọ bụghị na API eserese akọwapụtara, kama ọ bụ oyi akwa zuru ụwa ọnụ nke na-ejikarị otu primitives dị ala dị na Vulkan. Metal na Direct3D.

WebGPU na-enye ngwa Javascript njikwa ọkwa dị ala na nhazi, nhazi, na nnyefe nke iwu na GPU, ijikwa akụrụngwa emetụtara, ebe nchekwa, ihe nchekwa, ihe ederede, yana ihe nkpuchi eserese achịkọtara. Ụzọ a na-enye gị ohere ịrụ ọrụ dị elu maka ngwa ndịna-emeputa site n'ibelata ọnụ ahịa ego na ịba ụba nke ịrụ ọrụ na GPU.

WebGPU na-eme ka o kwe omume ịmepụta ọrụ 3D gbagwojuru anya maka Weebụ nke na-arụ ọrụ adịghị njọ karịa mmemme kwụ ọtọ nke na-enweta Vulkan, Metal ma ọ bụ Direct3D ozugbo, mana ejikọtaghị ya na nyiwe ụfọdụ. WebGPU na-enyekwa ikike ndị ọzọ mgbe ị na-ebufe mmemme eserese ala n'ime ụdị enyere webụ site na iji teknụzụ WebAssembly. Na mgbakwunye na eserese 3D, WebGPU na-ekpuchikwa ike ndị metụtara ibugharị mgbako na GPU yana ịkwado mmepe shader. Shaders nwere ike emebere ya na Asụsụ Shading WebGPU ma ọ bụ akọwapụtara na usoro SPIR-V etiti, wee sụgharịa ya n'asụsụ shader nke ndị ọkwọ ụgbọ ala ugbu a na-akwado.

WebGPU na-eji njikwa akụrụngwa dị iche iche, ọrụ nkwadebe, na nnyefe nke iwu na GPU (na WebGL, otu ihe na-ahụ maka ihe niile ozugbo). Enyere ọnọdụ atọ dị iche iche:
Ngwaọrụ GPU maka ịmepụta akụrụngwa dịka textures na buffers; GPUCommandEncoder maka itinye koodu n'otu n'otu, gụnyere nsụgharị na nhazi nhazi; GPUCommandBuffer ka a kwụ n'ahịrị maka igbu ya na GPU. Enwere ike ịme nsonaazụ ya na mpaghara jikọtara ya na otu ma ọ bụ karịa ihe akwa akwa, ma ọ bụ hazie ya na-enweghị mmepụta (dịka ọmụmaatụ, mgbe ị na-agbakọ ọrụ). Nkewa nkebi na-eme ka ọ dị mfe ikewapụta ihe onwunwe na ọrụ nkwadebe n'ime ndị ọrụ dị iche iche nwere ike ịgba ọsọ na eriri dị iche iche.

Ọdịiche nke abụọ dị n'etiti WebGPU na WebGL bụ ụzọ dị iche iche maka njikwa steeti. WebGPU na-enye ihe abụọ - GPURenderPipeline na GPUComputePipeline, nke na-enye gị ohere ijikọta steeti dị iche iche nke onye mmepụta kọwapụtara, nke na-enye ohere ka ihe nchọgharị ghara imefusị ihe onwunwe na ọrụ ndị ọzọ, dị ka recompiling shaders. Steeti akwadoro gụnyere: shaders, vertex buffer na attribute layouts, nhazi otu nnyapade, ngwakọta, omimi na ụkpụrụ, na usoro mmepụta post-render.

Akụkụ nke atọ nke WebGPU ka a na-akpọ ụdị njikọ, nke ka ukwuu
na-echetara ngwa ọrụ nchịkọta akụrụngwa dị na Vulkan.
Ijikọta akụrụngwa ọnụ, WebGPU na-enye ihe GPUBindGroup, nke enwere ike ijikọ ya na ihe ndị ọzọ yiri ya maka ojiji na shaders mgbe ị na-ede iwu. Ịmepụta otu dị otú ahụ na-enye ohere ka onye ọkwọ ụgbọala rụọ ọrụ nkwadebe dị mkpa tupu oge eruo, ma na-enye ohere ihe nchọgharị ka ọ gbanwee njikọ akụ n'etiti ịkpọ oku ngwa ngwa. Enwere ike ịkọwapụta nhazi nke njide akụrụngwa site na iji ihe GPUBindGroupLayout.

Firefox na-ewu kwa abalị gụnyere nkwado WebGPU

Na Firefox, iji mee ka WebGPU nwee ihe dị ka: config, enwere ntọala "dom.webgpu.enabled". Nsụgharị CanvasContext chọkwara ka agbanyere mpụta ihe WebRender ("gfx.webrender.all" na ihe dị ka: config), nke edere n'ime nchara na ntinye akwụkwọ ozi na-enye ọrụ GPU. Mmejuputa WebGPU gbadoro ụkwụ na koodu oru ngo
wgpu, nke edere na Rust ma nwee ike ịgba ọsọ n'elu DX12, Vulkan na Metal API na Linux, Android, Windows na macOS (DX11 na OpenGL ES 3.0 nkwado na-adịkwa na mmepe). N'otu aka ahụ, Google na-emepụta mmejuputa iwu ọzọ, nke dị na ya Alaka Canary Chromium ma nyere ya aka site na iji ọkọlọtọ "chrome://flags/#enable-unsafe-webgpu", mana ka ọ na-arụ ọrụ naanị na macOS na Windows.

isi: opennet.ru

Tinye a comment