W3C ረቂቅ WebGPU ደረጃን ይፋ አድርጓል

W3C የመጀመሪያዎቹን የWebGPU እና WebGPU Shading Language (WGSL) ዝርዝር መግለጫዎችን አውጥቷል፣ እነዚህም ኤፒአይዎችን እንደ አተረጓጎም እና ማስላት ያሉ የጂፒዩ ስራዎችን ለማከናወን እንዲሁም በጂፒዩ ላይ የሚሰሩ ፕሮግራሞችን ለመፃፍ የሻደር ቋንቋን ይገልፃል። በፅንሰ-ሀሳብ ከቩልካን፣ ሜታል እና ዳይሬክት 3ዲ 12 ኤፒአይዎች ጋር ተመሳሳይ ነው። መግለጫዎቹ የተዘጋጁት በሞዚላ፣ ጎግል፣ አፕል እና ማይክሮሶፍት መሐንዲሶችን ባካተተ የስራ ቡድን ነው።

በፅንሰ-ሀሳብ ዌብጂፒዩ ከዌብጂኤል የሚለየው የVulkan ግራፊክስ ኤፒአይ ከOpenGL በሚለይበት መንገድ ነው፣ነገር ግን በልዩ ግራፊክስ ኤፒአይ ላይ የተመሰረተ አይደለም፣ነገር ግን በVulkan፣ Metal እና በVulkan ውስጥ የሚገኙትን ተመሳሳይ ዝቅተኛ ደረጃ ፕሪሚቲቭስ የሚጠቀም ሁለንተናዊ ንብርብር ነው። ቀጥታ 3ዲ. WebGPU በአደረጃጀቱ ላይ ዝቅተኛ ደረጃ ቁጥጥር፣ ትእዛዞችን ወደ ጂፒዩ በማዘጋጀት እና በማስተላለፍ፣ ተያያዥ ግብዓቶችን፣ ማህደረ ትውስታን፣ ማቋቋሚያዎችን፣ የሸካራነት ዕቃዎችን እና የተጠናቀሩ የግራፊክስ ሼዶችን በማስተዳደር ላይ የጃቫ ስክሪፕት አፕሊኬሽኖችን ያቀርባል። ይህ አካሄድ ለግራፊክስ አፕሊኬሽኖች ከፍተኛ ወጪን በመቀነስ እና ከጂፒዩ ጋር የመሥራት ቅልጥፍናን በመጨመር ከፍተኛ አፈጻጸም እንድታገኙ ይፈቅድልሃል።

ዌብጂፒዩ በቀጥታ ቩልካንን፣ ሜታልን ወይም ዳይሬክት 3Dን በቀጥታ ከሚደርሱት ነገር ግን ከተወሰኑ መድረኮች ጋር ያልተቆራኙ ከገለልተኛ ፕሮግራሞች የከፋ የማይሰሩ ውስብስብ 3D ፕሮጀክቶችን ለድር ለመፍጠር ያስችላል። WebGPU በተጨማሪም ቤተኛ ግራፊክስ ፕሮግራሞችን ወደ ድር የነቃ ቅጽ ወደ WebAssembly በማቀናጀት ለማስተላለፍ ተጨማሪ ችሎታዎችን ይሰጣል። ከ3-ል ግራፊክስ በተጨማሪ ዌብጂፒዩ ስሌቶችን ወደ ጂፒዩ ከማውረድ እና ሼዶችን ከማስፈጸም ጋር የተያያዙ አቅሞችን ያካትታል።

የWebGPU ቁልፍ ባህሪዎች

  • የሃብት የተለየ አስተዳደር, የዝግጅት ስራ እና ትዕዛዞችን ወደ ጂፒዩ ማስተላለፍ (በ WebGL ውስጥ, አንድ ነገር በአንድ ጊዜ ሁሉንም ነገር ተጠያቂ ነበር). ሶስት የተለያዩ አውዶች ቀርበዋል፡ የጂፒዩ መሳሪያ እንደ ሸካራማነቶች እና ቋት ያሉ ሃብቶችን ለመፍጠር፤ ጂፒዩ ኮማንድኢንኮደር የግለሰቦችን ትዕዛዞች ለመቀየስ፣ የአተረጓጎም እና ስሌት ደረጃዎችን ጨምሮ፤ GPUCommandBuffer ወደ ጂፒዩ አሂድ ወረፋ ለማለፍ። ውጤቱ ከአንድ ወይም ከዛ በላይ የሸራ አባለ ነገሮች ጋር በተዛመደ አካባቢ ወይም ያለ ውፅዓት (ለምሳሌ የስሌት ስራዎችን ሲሰራ) ሊሰራ ይችላል። የደረጃዎች መለያየት የሃብት ፈጠራ እና አቅርቦት ስራዎችን በተለያዩ ክሮች ላይ ሊሰሩ ወደሚችሉ የተለያዩ ተቆጣጣሪዎች መለየት ቀላል ያደርገዋል።
  • ግዛቶችን ለማስተናገድ የተለየ አቀራረብ። WebGPU ሁለት ነገሮችን ያቀርባል - GPURenderPipeline እና GPUComputePipeline, ይህም በገንቢው አስቀድሞ የተገለጹ የተለያዩ ግዛቶችን እንዲያዋህዱ ያስችልዎታል, ይህም አሳሹ ተጨማሪ ስራዎችን እንደ ሼዶችን እንደገና በማሰባሰብ ላይ ያለውን ሃብት እንዳያባክን ያስችለዋል. የሚደገፉ ግዛቶች የሚከተሉትን ያካትታሉ፡ ሼዶች፣ የቬርቴክስ ቋት እና የባህሪ አቀማመጦች፣ ተለጣፊ የቡድን አቀማመጦች፣ ቅልቅል፣ ጥልቀት እና ቅጦች፣ የድህረ-ምርት ውፅዓት ቅርጸቶች።
  • አስገዳጅ ሞዴል፣ ልክ እንደ ቩልካን ሃብት ማሰባሰቢያ መሳሪያዎች። ሃብቶችን በቡድን ለመመደብ ዌብጂፒዩ የጂፒዩቢንድ ግሩፕ ነገርን ያቀርባል፣ ይህም ትዕዛዞችን በሚጽፉበት ጊዜ፣ በሻደር ውስጥ ጥቅም ላይ የሚውሉ ሌሎች ተመሳሳይ ነገሮች ጋር ሊገናኝ ይችላል። እንደነዚህ ያሉ ቡድኖችን መፍጠር ነጂው አስፈላጊውን የዝግጅት እርምጃዎችን አስቀድሞ እንዲፈጽም ያስችለዋል, እና አሳሹ በፍጥነት በመሳል ጥሪዎች መካከል ያለውን የንብረት ትስስር እንዲቀይር ያስችለዋል. የግብአት ማሰሪያዎች አቀማመጥ የጂፒዩቢንድGroupLayout ነገርን በመጠቀም አስቀድሞ ሊገለጽ ይችላል።

ምንጭ: opennet.ru

አስተያየት ያክሉ