W3C ڊرافٽ WebGPU معيار کي ظاهر ڪري ٿو

W3C WebGPU ۽ WebGPU شيڊنگ لئنگئيج (WGSL) جي وضاحتن جا پھريون ڊرافٽ جاري ڪيا آھن، جيڪي GPU عملن کي انجام ڏيڻ لاءِ APIs جي وضاحت ڪن ٿا جھڙوڪ رينڊرنگ ۽ ڪمپيوٽنگ، ۽ گڏوگڏ GPU تي ھلندڙ پروگرامن کي لکڻ لاءِ شيڊر ٻولي. تصوراتي طور تي Vulkan، Metal ۽ Direct3D 12 APIs سان ملندڙ خاصيتون ھڪڙي ڪم ڪندڙ گروپ پاران تيار ڪيون ويون آھن جن ۾ Mozilla، Google، Apple ۽ Microsoft جا انجنيئر شامل آھن.

تصوراتي طور تي، WebGPU WebGL کان گهڻو ئي مختلف آهي جيئن Vulkan گرافڪس API OpenGL کان مختلف آهي، پر اهو هڪ مخصوص گرافڪس 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

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