Chrome වෙත WebGPU සහාය ඇතුළත් වේ

මැයි 113 දින නිකුත් කිරීමට නියමිත Chrome 2 හි WebGPU චිත්‍රක API සහ WGSL (WebGPU Shading Language) සඳහා පෙරනිමි සහය ඇතුළත් කිරීම Google විසින් නිවේදනය කර ඇත. WebGPU විදැහුම්කරණය සහ පරිගණනය වැනි GPU-පාර්ශවීය මෙහෙයුම් සිදු කිරීම සඳහා Vulkan, Metal, සහ Direct3D 12 ට සමාන ක්‍රමලේඛන අතුරු මුහුණතක් සපයන අතර GPU පැත්තෙන් ක්‍රියාත්මක වන වැඩසටහන් ලිවීමට සෙවන භාෂාවක් භාවිතා කිරීමට ඉඩ සලසයි. WebGPU ක්‍රියාත්මක කිරීම මුලින් සබල වනු ඇත්තේ ChromeOS, macOS, සහ Windows builds මත පමණි. Linux සහ Android සඳහා, WebGPU සහාය පසු දිනකදී සක්‍රිය කෙරේ.

ක්‍රෝම් වලට අමතරව, WebGPU සඳහා පර්යේෂණාත්මක සහය 2020 අප්‍රේල් සිට Firefox හි සහ 2021 නොවැම්බර් සිට Safari හි පරීක්ෂා කර ඇත. ෆයර්ෆොක්ස් හි WebGPU සබල කිරීමට, ඔබ about:config හි dom.webgpu.enabled සහ gfx.webgpu.force-enabled flags සැකසිය යුතුය. Firefox සහ Safari හි පෙරනිමියෙන් WebGPU සබල කිරීමට තවමත් සැලසුම් නොමැත. ෆයර්ෆොක්ස් සහ ක්‍රෝම් සඳහා සංවර්ධනය කරන ලද WebGPU ක්‍රියාත්මක කිරීම් වෙනම පුස්තකාල ආකාරයෙන් ලබා ගත හැකිය - Dawn (C++) සහ wgpu (Rust), ඔබට ඔබේ යෙදුම්වලට WebGPU සහය අනුකලනය කිරීමට භාවිතා කළ හැක. ස්වදේශිකව WebGL භාවිතා කරන ජනප්‍රිය JavaScript පුස්තකාල වෙත WebGPU සහය එක් කිරීමට ද කටයුතු කරමින් පවතී. උදාහරණයක් ලෙස, WebGPU සඳහා සම්පූර්ණ සහාය දැනටමත් Babylon.js හි ප්‍රකාශයට පත් කර ඇති අතර, Three.js, PlayCanvas සහ TensorFlow.js හි අර්ධ සහාය.

සංකල්පමය වශයෙන්, WebGPU WebGL වෙතින් වෙනස් වන්නේ Vulkan ග්‍රැෆික් API OpenGL වෙතින් වෙනස් වන ආකාරයටම ය, නමුත් WebGPU නිශ්චිත චිත්‍රක API මත පදනම් නොවන නමුත් වුල්කන්, ලෝහ සහ වල්කන්හි ඇති එකම පහත් මට්ටමේ ප්‍රාථමික භාවිතා කරන විශ්වීය ස්ථරයකි. 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

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