Chromeలో WebGPU మద్దతు ప్రారంభించబడుతుంది

Google Chrome 113లో WebGPU గ్రాఫిక్స్ API మరియు WebGPU షేడింగ్ లాంగ్వేజ్ (WGSL) కోసం డిఫాల్ట్ మద్దతును ప్రకటించింది, ఇది మే 2న విడుదల కానుంది. WebGPU రెండరింగ్ మరియు కంప్యూటేషన్ వంటి GPU-సైడ్ ఆపరేషన్‌లను నిర్వహించడానికి Vulkan, Metal మరియు Direct3D 12 లాంటి APIని అందిస్తుంది మరియు GPU-సైడ్ ప్రోగ్రామ్‌లను వ్రాయడానికి షేడర్ భాషను ఉపయోగించడానికి మిమ్మల్ని అనుమతిస్తుంది. WebGPU అమలు ChromeOS, macOS మరియు Windows కోసం బిల్డ్‌లలో మాత్రమే ప్రారంభంలో ప్రారంభించబడుతుంది. Linux మరియు Android కోసం, WebGPU మద్దతు తర్వాత తేదీలో సక్రియం చేయబడుతుంది.

Chromeతో పాటు, ప్రయోగాత్మక WebGPU మద్దతు 2020 ఏప్రిల్ నుండి Firefoxలో మరియు నవంబర్ 2021 నుండి Safariలో పరీక్షించబడింది. Firefoxలో WebGPUని ప్రారంభించడానికి, dom.webgpu.enabled మరియు gfx.webgpu.force-enabled ఫ్లాగ్‌లను about:configలో సెట్ చేయండి. Firefox మరియు Safariలో ఇంకా WebGPUని డిఫాల్ట్‌గా ప్రారంభించే ప్రణాళికలు లేవు. Firefox మరియు Chrome కోసం అభివృద్ధి చేయబడిన WebGPU ఇంప్లిమెంటేషన్‌లు ప్రత్యేక లైబ్రరీల రూపంలో అందుబాటులో ఉన్నాయి - డాన్ (C++) మరియు wgpu (రస్ట్), వీటిని మీరు మీ అప్లికేషన్‌లలో WebGPU మద్దతును ఏకీకృతం చేయడానికి ఉపయోగించవచ్చు. స్థానికంగా WebGLని ఉపయోగిస్తున్న ప్రముఖ JavaScript లైబ్రరీలకు WebGPU మద్దతును జోడించే పని కూడా జరుగుతోంది. ఉదాహరణకు, WebGPUకి ఇప్పటికే Babylon.jsలో పూర్తి మద్దతు మరియు Three.js, PlayCanvas మరియు TensorFlow.jsలో పాక్షిక మద్దతు ప్రకటించబడింది.

సంభావితంగా, WebGPU WebGL నుండి వల్కాన్ గ్రాఫిక్స్ API OpenGL నుండి భిన్నంగా ఉంటుంది, కానీ WebGPU అనేది నిర్దిష్ట గ్రాఫిక్స్ APIపై ఆధారపడి ఉండదు, అయితే ఇది వల్కాన్‌లో కనిపించే అదే తక్కువ-స్థాయి ఆదిమాలను ఉపయోగించే సాధారణ-ప్రయోజన పొర, మెటల్, మరియు Direct3D. WebGPU సంస్థపై తక్కువ-స్థాయి నియంత్రణతో JavaScript అప్లికేషన్‌లను అందిస్తుంది, GPUకి ఆదేశాలను ప్రాసెస్ చేయడం మరియు ప్రసారం చేయడం, అనుబంధిత వనరులు, మెమరీ, బఫర్‌లు, ఆకృతి వస్తువులు మరియు కంపైల్డ్ గ్రాఫిక్స్ షేడర్‌లను నిర్వహించడం. ఈ విధానం ఓవర్‌హెడ్‌ను తగ్గించడం మరియు GPU యొక్క సామర్థ్యాన్ని పెంచడం ద్వారా అధిక పనితీరు గల గ్రాఫిక్స్ అప్లికేషన్‌లను సాధించడానికి మిమ్మల్ని అనుమతిస్తుంది.

WebGPU వెబ్ కోసం సంక్లిష్టమైన 3D ప్రాజెక్ట్‌లను సృష్టించడం సాధ్యం చేస్తుంది, అలాగే వల్కాన్, మెటల్ లేదా డైరెక్ట్3డిని నేరుగా ఉపయోగించే స్వతంత్ర ప్రోగ్రామ్‌లు, కానీ నిర్దిష్ట ప్లాట్‌ఫారమ్‌లతో ముడిపడి ఉండవు. WebGPU వెబ్‌అసెంబ్లీకి కంపైల్ చేయడం ద్వారా స్థానిక గ్రాఫిక్స్ ప్రోగ్రామ్‌లను వెబ్-ప్రారంభించబడిన ఫారమ్‌కు పోర్ట్ చేయడానికి అదనపు ఎంపికలను కూడా అందిస్తుంది. 3D గ్రాఫిక్స్‌తో పాటు, WebGPU GPU వైపు లెక్కలను ఆఫ్‌లోడ్ చేయడం మరియు షేడర్‌లను అమలు చేయడం వంటి అవకాశాలను కూడా కవర్ చేస్తుంది.

WebGPU యొక్క ముఖ్య లక్షణాలు:

  • వనరుల యొక్క ప్రత్యేక నిర్వహణ, సన్నాహక పని మరియు GPUకి ఆదేశాలను ప్రసారం చేయడం (WebGLలో, ఒక వస్తువు ప్రతిదానికీ ఒకేసారి బాధ్యత వహిస్తుంది). మూడు వేర్వేరు సందర్భాలు అందించబడ్డాయి: అల్లికలు మరియు బఫర్‌ల వంటి వనరులను సృష్టించడానికి GPU పరికరం; రెండరింగ్ మరియు గణన దశలతో సహా వ్యక్తిగత ఆదేశాలను ఎన్‌కోడింగ్ చేయడానికి GPUCommandEncoder; GPU కమాండ్‌బఫర్‌ను GPU రన్ క్యూకి పంపండి. ఫలితం ఒకటి లేదా అంతకంటే ఎక్కువ కాన్వాస్ మూలకాలతో అనుబంధించబడిన ప్రాంతంలో అందించబడుతుంది లేదా అవుట్‌పుట్ లేకుండా ప్రాసెస్ చేయబడుతుంది (ఉదాహరణకు, గణన పనులను అమలు చేస్తున్నప్పుడు). దశల విభజన వివిధ థ్రెడ్‌లపై అమలు చేయగల వివిధ హ్యాండ్లర్‌లుగా వనరుల సృష్టి మరియు ప్రొవిజనింగ్ కార్యకలాపాలను వేరు చేయడం సులభం చేస్తుంది.
  • రాష్ట్రాలను నిర్వహించడానికి భిన్నమైన విధానం. WebGPU రెండు ఆబ్జెక్ట్‌లను అందిస్తుంది - GPURenderPipeline మరియు GPUComputePipeline, ఇది డెవలపర్ ద్వారా ముందే నిర్వచించబడిన వివిధ స్థితులను మిళితం చేయడానికి మిమ్మల్ని అనుమతిస్తుంది, దీని వలన షేడర్‌లను రీకంపైల్ చేయడం వంటి అదనపు పనిలో వనరులను వృథా చేయకుండా బ్రౌజర్‌ని అనుమతిస్తుంది. మద్దతు ఉన్న రాష్ట్రాలు: షేడర్‌లు, వెర్టెక్స్ బఫర్ మరియు అట్రిబ్యూట్ లేఅవుట్‌లు, స్టిక్కీ గ్రూప్ లేఅవుట్‌లు, బ్లెండింగ్, డెప్త్ మరియు ప్యాటర్న్‌లు, పోస్ట్-రెండర్ అవుట్‌పుట్ ఫార్మాట్‌లు.
  • వల్కాన్ యొక్క వనరుల సమూహ సాధనాల మాదిరిగానే బైండింగ్ మోడల్. సమూహాలలో వనరులను సమూహపరచడానికి, WebGPU GPUBindGroup ఆబ్జెక్ట్‌ను అందిస్తుంది, ఇది ఆదేశాలను వ్రాసే సమయంలో, షేడర్‌లలో ఉపయోగించడానికి ఇతర సారూప్య వస్తువులతో అనుబంధించబడుతుంది. అటువంటి సమూహాలను సృష్టించడం వలన డ్రైవర్ ముందుగానే అవసరమైన సన్నాహక చర్యలను నిర్వహించడానికి అనుమతిస్తుంది మరియు డ్రా కాల్‌ల మధ్య వనరుల బైండింగ్‌లను చాలా వేగంగా మార్చడానికి బ్రౌజర్‌ని అనుమతిస్తుంది. GPUBindGroupLayout ఆబ్జెక్ట్‌ని ఉపయోగించి రిసోర్స్ బైండింగ్‌ల లేఅవుట్‌ని ముందే నిర్వచించవచ్చు.

మూలం: opennet.ru

ఒక వ్యాఖ్యను జోడించండి