WebGPU سپورٽ ڪروم ۾ فعال ٿي ويندي

گوگل ڪروم 113 ۾ WebGPU گرافڪس API ۽ WGSL (WebGPU Shading Language) لاءِ ڊفالٽ سپورٽ شامل ڪرڻ جو اعلان ڪيو آهي، جيڪو 2 مئي تي رليز ڪرڻ لاءِ شيڊول ڪيو ويو آهي. WebGPU هڪ پروگرامنگ انٽرفيس مهيا ڪري ٿو جهڙوڪ Vulkan، Metal، ۽ Direct3D 12 GPU-سائيڊ آپريشنز جهڙوڪ رينڊرنگ ۽ ڪمپيوٽنگ ڪرڻ لاءِ، ۽ GPU پاسي تي هلندڙ پروگرامن کي لکڻ لاءِ شيڊر ٻولي جي استعمال جي اجازت پڻ ڏئي ٿو. WebGPU عمل درآمد شروعاتي طور تي صرف ChromeOS، macOS، ۽ ونڊوز تعميرات تي فعال ڪيو ويندو. لينڪس ۽ اينڊرائيڊ لاءِ، ويب جي پي يو سپورٽ کي چالو ڪيو ويندو بعد ۾.

Chrome کان علاوه، WebGPU لاءِ تجرباتي سپورٽ اپريل 2020 کان فائر فاڪس ۾ ۽ نومبر 2021 کان سفاري ۾ آزمائي وئي آھي. Firefox ۾ WebGPU کي فعال ڪرڻ لاءِ، توھان کي dom.webgpu.enabled ۽ gfx.webgpu.force-enabled جھنڊو اٽڪل:config ۾ سيٽ ڪرڻ گھرجي. فائر فاکس ۽ سفاري ۾ ڊفالٽ طور WebGPU کي فعال ڪرڻ جو ڪو به منصوبو ناهي. فائر فاڪس ۽ ڪروم لاءِ تيار ڪيل WebGPU عمل درآمد الڳ الڳ لائبريرين جي صورت ۾ موجود آهن - Dawn (C++) ۽ wgpu (Rust)، جن کي توهان پنهنجي ايپليڪيشنن ۾ WebGPU سپورٽ کي ضم ڪرڻ لاءِ استعمال ڪري سگهو ٿا. مشهور JavaScript لائبريرين ۾ WebGPU سپورٽ شامل ڪرڻ لاءِ ڪم پڻ جاري آهي جيڪي مقامي طور تي WebGL استعمال ڪن ٿيون. مثال طور، WebGPU لاءِ مڪمل سپورٽ Babylon.js ۾ اڳ ۾ ئي اعلان ڪيو ويو آهي، ۽ جزوي مدد Three.js، PlayCanvas ۽ TensorFlow.js ۾.

تصوراتي طور تي، WebGPU WebGL کان بلڪل مختلف آهي جيئن Vulkan گرافڪس API OpenGL کان مختلف آهي، پر WebGPU هڪ مخصوص گرافڪس API تي ٻڌل ناهي، پر هڪ آفاقي پرت آهي جيڪو استعمال ڪري ٿو ساڳئي گهٽ-سطح جي پريميٽوز کي استعمال ڪري ٿو Vulkan، Metal ۽. سڌو 3D. WebGPU جاوا اسڪرپٽ ايپليڪيشنون مهيا ڪري ٿي تنظيم تي گهٽ-سطح جي ڪنٽرول سان، پروسيسنگ ۽ ڪمانڊ جي منتقلي GPU ڏانهن، لاڳاپيل وسيلن کي منظم ڪرڻ، ميموري، بفرز، ٽيڪسچر آبجڪس ۽ مرتب ڪيل گرافڪس شيڊرز. اهو طريقو توهان کي گرافڪس ايپليڪيشنن لاءِ اعليٰ ڪارڪردگي حاصل ڪرڻ جي اجازت ڏئي ٿو اوور هيڊ خرچن کي گهٽائڻ ۽ GPU سان ڪم ڪرڻ جي ڪارڪردگي کي وڌائڻ سان.

WebGPU اهو ممڪن بڻائي ٿو ويب لاءِ پيچيده 3D پروجيڪٽ ٺاهڻ جيڪي اسٽينڊل پروگرامن کان وڌيڪ خراب ڪم ڪن ٿا جيڪي سڌو استعمال ڪن ٿا Vulkan، Metal يا Direct3D، پر مخصوص پليٽ فارمن سان جڙيل نه آهن. WebGPU پڻ اضافي صلاحيتون مهيا ڪري ٿو ڏيهي گرافڪس پروگرامن کي پورٽ ڪرڻ لاءِ هڪ ويب-فعال فارم ۾ ويب اسسمبلي ۾ تاليف ذريعي. 3D گرافڪس کان علاوه، WebGPU ۾ GPU کي آف لوڊ ڪرڻ جي حساب سان لاڳاپيل صلاحيتون پڻ شامل آهن ۽ شيڊرز تي عمل ڪرڻ.

WebGPU جون اهم خاصيتون:

  • وسيلن جو الڳ انتظام، تياري وارو ڪم ۽ GPU ڏانهن حڪمن جي منتقلي (WebGL ۾ هڪ اعتراض هڪ ڀيرو هر شيء لاء ذميوار هو). ٽي الڳ حوالا مهيا ڪيا ويا آهن: GPU ڊيوائس وسيلن ٺاهڻ لاءِ جيئن ته بناوت ۽ بفر؛ GPUCommandEncoder انفرادي حڪمن کي انڪوڊنگ ڪرڻ لاءِ، بشمول رينڊرنگ ۽ حسابي مرحلن؛ GPUCommandBuffer کي GPU تي عمل ڪرڻ لاءِ قطار ۾ رکيو وڃي. نتيجو هڪ يا وڌيڪ ڪينوس عناصر سان لاڳاپيل علائقي ۾ پيش ڪري سگهجي ٿو، يا بغير بغير پروسيس ڪيو ويو (مثال طور، جڏهن ڪمپيوٽ ڪمن کي هلائڻ). مرحلن کي الڳ ڪرڻ آسان بڻائي ٿو وسيلن جي ٺاھڻ ۽ تياري جي عملن کي مختلف ھٿيارن ۾ الڳ ڪرڻ جيڪي مختلف موضوعن تي هلائي سگھن ٿا.
  • پروسيسنگ رياستن لاء هڪ مختلف طريقو. WebGPU ٻه شيون پيش ڪري ٿو - GPURenderPipeline ۽ GPUComputePipeline، جيڪي توهان کي ڊولپر پاران اڳ بيان ڪيل مختلف رياستن کي گڏ ڪرڻ جي اجازت ڏين ٿيون، جيڪا برائوزر کي اجازت ڏئي ٿي ته اضافي ڪم تي وسيلن کي ضايع نه ڪري، جهڙوڪ شيڊر کي ٻيهر ترتيب ڏيڻ. سپورٽ ٿيل رياستن ۾ شامل آهن: شيڊرز، ورٽيڪس بفر ۽ انتساب لي آئوٽ، اسٽڪي گروپ لي آئوٽ، بلڊنگ، گہرا ۽ نمونا، ۽ پوسٽ رينڈر آئوٽ پٽ فارميٽ.
  • هڪ پابند ماڊل گهڻو ڪري Vulkan جي وسيلن جي گروپن جي خاصيتن وانگر. وسيلن کي گڏ ڪرڻ لاءِ، WebGPU هڪ GPUBindGroup اعتراض مهيا ڪري ٿو، جيڪو ڪمانڊ لکڻ دوران شيڊرز ۾ استعمال لاءِ ٻين ساڳين شين سان لاڳاپيل ٿي سگهي ٿو. اهڙن گروپن کي ٺاهڻ ڊرائيور کي ضروري تياري واري عمل کي اڳ ۾ ئي انجام ڏيڻ جي اجازت ڏئي ٿو، ۽ برائوزر کي اجازت ڏئي ٿو ته ريسورس بائنڊنگ کي ڊرائنگ ڪالن جي وچ ۾ تمام تيزيءَ سان تبديل ڪري. وسيلن جي پابندن جي ترتيب کي GPUBindGroupLayout اعتراض استعمال ڪندي اڳواٽ بيان ڪري سگھجي ٿو.

جو ذريعو: opennet.ru

تبصرو شامل ڪريو