Nochtann W3C dréachtchaighdeán WebGPU

Консорциум W3C представил первые черновые варианты спецификаций WebGPU и WebGPU Shading Language (WGSL), определяющих API для выполнения операций на GPU, таких как рендеринг и вычисления, а также язык шейдров для написания программ, работающих на стороне GPU. концептуально схожий с API Vulkan, Metal и Direct3D 12. Спецификации подготовлены рабочей группой, в которую вошли инженеры из Mozilla, Google, Apple и Microsoft.

Концептуально WebGPU отличается от WebGL примерно так же, как графический API Vulkan отличается от OpenGL, но при этом не основывается на конкретном графическом API, а представляет собой универсальную прослойку, использующую те же низкоуровневые примитивы, что имеются в Vulkan, Metal и Direct3D. WebGPU предоставляет приложениям на JavaScript средства для низкоуровневого контроля за организацией, обработкой и передачей команд к GPU, управления связанными ресурсами, памятью, буферами, объектами текстур и скомпилированными графическими шейдерами. Подобный подход позволяет добиться более высокой производительности графических приложений за счёт снижения накладных расходов и повышения эффективности работы с GPU.

WebGPU даёт возможность создавать для Web сложные 3D-проекты, работающие не хуже, чем обособленные программы, напрямую обращающиеся с Vulkan, Metal или Direct3D, но не привязанные к конкретным платформам. WebGPU также предоставляет дополнительные возможности при портировании нативных графических программ в форму, способную работать на базе web-технологий, благодаря компиляции в WebAssembly. Кроме 3D-графики WebGPU охватывает и возможности, связанные с выносом вычислений на сторону GPU и выполнением шейдеров.

Príomhghnéithe WebGPU:

  • Bainistíocht ar leith acmhainní, obair ullmhúcháin agus tarchur orduithe chuig an GPU (i WebGL, bhí réad amháin freagrach as gach rud ag an am céanna). Soláthraítear trí chomhthéacs ar leith: GPUGléas chun acmhainní a chruthú mar uigeachtaí agus maoláin; GPUCommandEncoder chun orduithe aonair a ionchódú, lena n-áirítear na céimeanna rindreála agus ríofa; GPUCommandBuffer chun pas a fháil go dtí an scuaine rith GPU. Is féidir an toradh a sholáthar i limistéar a bhfuil baint aige le heilimint chanbhás amháin nó níos mó, nó a rindreáil gan aschur (mar shampla, agus tascanna ríomhaireachtúla á rith). De bharr scaradh na gcéimeanna is fusa oibríochtaí cruthaithe agus soláthair acmhainní a dheighilt ina láimhseálaithe éagsúla ar féidir leo oibriú ar shnáitheanna éagsúla.
  • Cur chuige difriúil maidir le stáit a láimhseáil. Soláthraíonn WebGPU dhá rud - GPURenderPipeline agus GPUComputePipeline, a ligeann duit stáit éagsúla réamhshainithe ag an bhforbróir a chur le chéile, rud a fhágann gur féidir leis an mbrabhsálaí gan acmhainní a chur amú ar obair bhreise, mar shampla scáthaitheoirí a ath-thiomsú. I measc na stáit a fhaigheann tacaíocht tá: scáthaitheoirí, leagan amach maoláin rinn agus tréithe, leagan amach grúpa greamaitheach, cumasc, doimhneacht agus patrúin, formáidí aschuir iar- rindreála.
  • Múnla ceangailteach, cosúil le huirlisí grúpála acmhainní Vulkan. Chun acmhainní a ghrúpáil ina ngrúpaí, soláthraíonn an WebGPU oibiacht GPUBindGroup, ar féidir, tráth scríofa na n-orduithe, a bheith bainteach le réada eile dá samhail lena n-úsáid i scáthaitheoirí. Ligeann cruthú grúpaí den sórt sin don tiománaí na gníomhartha ullmhúcháin riachtanacha a dhéanamh roimh ré, agus ligeann sé don bhrabhsálaí ceangail acmhainne a athrú idir glaonna tarraingthe i bhfad níos tapúla. Is féidir leagan amach na gceangal acmhainní a réamhshainiú trí úsáid a bhaint as réad GPUBindGroupLayout.

Foinse: oscailtenet.ru

Add a comment