W3C කෙටුම්පත WebGPU සම්මතය එළිදක්වයි

W3C විසින් WebGPU සහ WebGPU Shading Language (WGSL) පිරිවිතරවල පළමු කෙටුම්පත් නිකුත් කර ඇති අතර, එය විදැහුම්කරණය සහ පරිගණනය වැනි GPU මෙහෙයුම් සිදු කිරීම සඳහා API නිර්වචනය කරයි, මෙන්ම GPU මත ක්‍රියාත්මක වන වැඩසටහන් ලිවීම සඳහා සෙවන භාෂාවක්. සංකල්පමය වශයෙන් Vulkan, Metal සහ Direct3D 12 API වලට සමාන වන පිරිවිතරයන් Mozilla, Google, Apple සහ Microsoft හි ඉංජිනේරුවන් ඇතුළත් කර ඇත.

සංකල්පමය වශයෙන්, WebGPU WebGL වෙතින් වෙනස් වන්නේ Vulkan ග්‍රැෆික් API OpenGL වෙතින් වෙනස් වන ආකාරයටම වන නමුත් එය විශේෂිත චිත්‍රක API මත පදනම් නොවන නමුත් Vulkan, Metal සහ වලදී දක්නට ලැබෙන එකම පහත් මට්ටමේ ප්‍රාථමිකයන් භාවිතා කරන විශ්වීය ස්ථරයකි. Direct3D. WebGPU විසින් JavaScript යෙදුම් වලට සංවිධානය, GPU වෙත විධාන සැකසීම සහ සම්ප්‍රේෂණය කිරීම, ආශ්‍රිත සම්පත් කළමනාකරණය, මතකය, බෆර, වයනය වස්තු සහ සම්පාදනය කරන ලද ග්‍රැෆික් ෂේඩර් සමඟ පහළ මට්ටමේ පාලනයක් සපයයි. මෙම ප්‍රවේශය ඔබට පොදු කාර්ය පිරිවැය අඩු කිරීමෙන් සහ GPU සමඟ වැඩ කිරීමේ කාර්යක්ෂමතාව වැඩි කිරීමෙන් චිත්‍රක යෙදුම් සඳහා ඉහළ කාර්ය සාධනයක් ලබා ගැනීමට ඉඩ සලසයි.

Vulkan, Metal හෝ Direct3D වෙත සෘජුවම ප්‍රවේශ වන නමුත් විශේෂිත වේදිකා වලට සම්බන්ධ නොවන ස්වාධීන වැඩසටහන් වලට වඩා නරක නොවන සංකීර්ණ 3D ව්‍යාපෘති නිර්මාණය කිරීමට WebGPU මඟින් හැකියාව ලැබේ. WebGPU විසින් WebAssembly වෙත සම්පාදනය කිරීම හරහා ස්වදේශීය ග්‍රැෆික් වැඩසටහන් වෙබ් සක්‍රීය පෝරමයකට මාරු කිරීම සඳහා අමතර හැකියාවන් ද සපයයි. ත්‍රිමාණ ග්‍රැෆික්ස් වලට අමතරව, WebGPU හි GPU වෙත ගණනය කිරීම් ඉවත් කිරීම සහ ෂැඩර් ක්‍රියාත්මක කිරීම සම්බන්ධ හැකියාවන් ද ඇතුළත් වේ.

WebGPU හි ප්‍රධාන විශේෂාංග:

  • සම්පත් වෙනම කළමනාකරණය කිරීම, සූදානම් කිරීමේ කටයුතු සහ GPU වෙත විධාන සම්ප්‍රේෂණය කිරීම (WebGL හි එක් වස්තුවක් සියල්ලටම එකවර වගකිව යුතුය). වෙනම සන්දර්භ තුනක් සපයා ඇත: වයනය සහ බෆර වැනි සම්පත් නිර්මාණය කිරීම සඳහා GPU උපාංගය; විදැහුම්කරණය සහ ගණනය කිරීමේ අදියර ඇතුළුව තනි විධානයන් කේතනය කිරීම සඳහා GPUCommandEncoder; GPUCommandBuffer GPU මත ක්‍රියාත්මක කිරීම සඳහා පෝලිම් කළ යුතුය. ප්‍රතිඵලය කැන්වස් මූලද්‍රව්‍ය එකක් හෝ කිහිපයක් සමඟ ආශ්‍රිත ප්‍රදේශයක විදහා දැක්විය හැක, නැතහොත් ප්‍රතිදානයකින් තොරව සැකසිය හැක (උදාහරණයක් ලෙස, පරිගණක කාර්යයන් ක්‍රියාත්මක කරන විට). අදියර වෙන් කිරීම විවිධ නූල් මත ධාවනය කළ හැකි විවිධ හසුරුවන්නන් බවට සම්පත් නිර්මාණය සහ සූදානම් කිරීමේ මෙහෙයුම් වෙන් කිරීම පහසු කරයි.
  • සැකසුම් තත්වයන් සඳහා වෙනස් ප්රවේශයක්. WebGPU විසින් වස්තු දෙකක් ඉදිරිපත් කරයි - GPURenderPipeline සහ GPUComputePipeline, සංවර්ධකයා විසින් කලින් නිර්වචනය කර ඇති විවිධ තත්වයන් ඒකාබද්ධ කිරීමට ඔබට ඉඩ සලසයි, එමඟින් සෙවනැලි නැවත සම්පාදනය කිරීම වැනි අමතර වැඩ සඳහා සම්පත් නාස්ති නොකිරීමට බ්‍රව්සරයට ඉඩ සලසයි. සහාය දක්වන ප්‍රාන්තවලට ඇතුළත් වන්නේ: ෂේඩර්, වර්ටෙක්ස් බෆරය සහ උපලක්ෂණ පිරිසැලසුම්, ඇලෙන සුළු කණ්ඩායම් පිරිසැලසුම්, මිශ්‍ර කිරීම, ගැඹුර සහ රටා, සහ පසු විදැහුම්කරණ ප්‍රතිදාන ආකෘති.
  • Vulkan හි සම්පත් සමූහකරණ විශේෂාංග වැනි බන්ධන ආකෘතියක්. සම්පත් එකට සමූහ කිරීමට, WebGPU GPUBindGroup වස්තුවක් සපයයි, විධාන ලිවීමේදී සෙවනැලි වල භාවිතා කිරීම සඳහා වෙනත් සමාන වස්තූන් සමඟ සම්බන්ධ කළ හැක. එවැනි කණ්ඩායම් නිර්මාණය කිරීමෙන් රියදුරුට අවශ්‍ය සූදානම් කිරීමේ ක්‍රියා කල්තියා සිදු කිරීමට ඉඩ සලසයි, සහ බ්‍රවුසරයට අඳින ඇමතුම් අතර සම්පත් බන්ධන වඩා වේගයෙන් වෙනස් කිරීමට ඉඩ සලසයි. GPUBindGroupLayout වස්තුව භාවිතයෙන් සම්පත් බන්ධනවල පිරිසැලසුම පූර්ව නිර්වචනය කළ හැක.

මූලාශ්රය: opennet.ru

අදහස් එක් කරන්න