क्रोम में पहले से ही WebGPU सपोर्ट होगा और डिफॉल्ट रूप से सक्षम होगा

वेबजीपीयू क्रोम

वर्षों के विकास के बाद, क्रोम टीम ने वेबजीपीयू जारी किया

कुछ दिनों पहले Google ने अनावरण किया एक के माध्यम से घोषणा की WebGPU ग्राफ़िक्स API के लिए डिफ़ॉल्ट समर्थन और WebGPU शेडिंग लैंग्वेज (WGSL) क्रोम 113 शाखा में, जो 2 मई को रिलीज होने वाली है।

जो लोग WebGPU से अनभिज्ञ हैं, उनके लिए आपको यह जानना चाहिए Vulkan, Metal और Direct3D 12 के समान API प्रदान करता है जीपीयू-साइड ऑपरेशंस जैसे रेंडरिंग और कंप्यूटेशन करने के लिए, और भी जीपीयू-साइड प्रोग्राम लिखने के लिए शेडर भाषा का उपयोग करने की अनुमति देता है.

WebGPU के बारे में

वैचारिक रूप से, WebGPU WebGL से उसी तरह भिन्न है जिस तरह Vulkan ग्राफ़िक्स API OpenGL से भिन्न है, लेकिन वेबजीपीयू एक विशिष्ट ग्राफिक्स एपीआई पर आधारित नहीं है, बल्कि यह एक सामान्य प्रयोजन परत है जो वल्कन में पाए जाने वाले समान निम्न-स्तरीय आदिम का उपयोग करता है। धातु और Direct3D। वेबजीपीयू संगठन पर निम्न-स्तरीय नियंत्रण के साथ JavaScript एप्लिकेशन प्रदान करता है, प्रसंस्करण और जीपीयू को कमांड ट्रांसमिट करना, संबंधित संसाधनों, मेमोरी, बफ़र्स, टेक्सचर ऑब्जेक्ट्स और संकलित ग्राफिक्स शेड्स का प्रबंधन करना। यह दृष्टिकोण आपको ओवरहेड को कम करके और जीपीयू दक्षता में वृद्धि करके उच्च प्रदर्शन वाले ग्राफिक्स अनुप्रयोगों को प्राप्त करने की अनुमति देता है।

वेबजीपीयू आपको वेब के लिए जटिल 3D प्रोजेक्ट बनाने की अनुमति देता है यह काम के साथ-साथ स्टैंडअलोन प्रोग्राम जो सीधे वल्कन, मेटल या डायरेक्ट 3 डी का उपयोग करते हैं, लेकिन विशिष्ट प्लेटफॉर्म से बंधे नहीं हैं। वेबजीपीयू नेटिव ग्राफिक्स प्रोग्राम को पोर्ट करने के लिए अतिरिक्त विकल्प भी प्रदान करता है WebAssembly में संकलित करके एक वेब-सक्षम फ़ॉर्म में। 3डी ग्राफिक्स के अलावा, वेबजीपीयू जीपीयू साइड और रनिंग शेडर्स में ऑफलोडिंग कंप्यूटेशंस से जुड़ी संभावनाओं को भी कवर करता है।

WebGPU की प्रमुख विशेषताओं में से, हम निम्नलिखित पर प्रकाश डाल सकते हैं:

  • संसाधनों का अलग प्रबंधन, प्रारंभिक कार्य और आदेशों का प्रसारण जीपीयू के लिए (वेबजीएल में, एक वस्तु एक ही बार में सब कुछ के लिए जिम्मेदार थी)। तीन अलग-अलग संदर्भ प्रदान किए गए हैं: बनावट और बफ़र्स जैसे संसाधन बनाने के लिए GPUDevice; प्रसंस्करण और गणना चरणों सहित अलग-अलग आदेशों को एन्कोड करने के लिए GPUCommandEncoder; GPUCommandBuffer GPU निष्पादन कतार में जाने के लिए।
    परिणाम एक या अधिक कैनवास आइटम से जुड़े क्षेत्र में प्रस्तुत किया जा सकता है, या आउटपुट के बिना प्रस्तुत किया जा सकता है (उदाहरण के लिए, कम्प्यूटेशनल कार्य चलाते समय)। स्टेजिंग संसाधन निर्माण और प्रावधान संचालन को अलग-अलग नियंत्रकों में अलग करना आसान बनाता है जो विभिन्न थ्रेड्स पर चल सकते हैं।
  • राज्य से निपटने के लिए एक अलग दृष्टिकोण। WebGPU दो ऑब्जेक्ट, GPURenderPipeline और GPUComputePipeline प्रदान करता है, जो आपको डेवलपर द्वारा पूर्वनिर्धारित विभिन्न राज्यों को संयोजित करने की अनुमति देता है, जिससे ब्राउज़र के लिए अतिरिक्त कार्य पर संसाधनों को बर्बाद नहीं करना संभव हो जाता है, जैसे कि शेडर्स को फिर से बनाना। समर्थित राज्यों में शामिल हैं: शेडर्स, वर्टेक्स बफर और विशेषता लेआउट, निश्चित समूह लेआउट, सम्मिश्रण, गहराई और पैटर्न, पोस्ट-रेंडर आउटपुट स्वरूप।
  • एक बाध्यकारी मॉडल, वल्कन के संसाधन पूलिंग टूल की तरह. संसाधनों को समूहों में समूहित करने के लिए, WebGPU एक GPUBindGroup ऑब्जेक्ट प्रदान करता है जिसे कमांड रिकॉर्डिंग के दौरान शेडर्स में उपयोग के लिए अन्य समान ऑब्जेक्ट्स के लिए बाध्य किया जा सकता है।
    ऐसे समूहों को बनाने से नियंत्रक को पहले से आवश्यक प्रारंभिक क्रियाएं करने की अनुमति मिलती है और ब्राउजर ड्रॉ कॉल के बीच संसाधन बाइंडिंग को बहुत तेजी से स्विच करने की अनुमति देता है। GPUBindGroupLayout ऑब्जेक्ट का उपयोग करके संसाधन बाइंडिंग के लेआउट को पूर्वनिर्धारित किया जा सकता है।

क्रोम के अलावा, फ़ायरफ़ॉक्स में अप्रैल 2020 से प्रायोगिक WebGPU समर्थन का परीक्षण किया गया है और नवंबर 2021 से सफारी पर। फ़ायरफ़ॉक्स में WebGPU को सक्षम करने के लिए, आपको dom.webgpu.enabled और gfx.webgpu.force-enabled फ़्लैग्स को about:config में सेट करना होगा।

फ़ायरफ़ॉक्स और सफारी में डिफ़ॉल्ट रूप से वेबजीपीयू को सक्षम करने के लिए अभी तक कोई योजना नहीं है। फ़ायरफ़ॉक्स और क्रोम के लिए विकसित वेबजीपीयू कार्यान्वयन अलग-अलग पुस्तकालयों के रूप में उपलब्ध हैं: डॉन (सी++) और डब्ल्यूजीपीयू (रस्ट) जिनका उपयोग आप अपने अनुप्रयोगों में वेबजीपीयू समर्थन को एकीकृत करने के लिए कर सकते हैं।

यह भी ध्यान देने वाली बात है कि WebGL का उपयोग करके मूल रूप से लोकप्रिय JavaScript लाइब्रेरी में WebGPU समर्थन जोड़ने का काम चल रहा है। उदाहरण के लिए, पूर्ण WebGPU समर्थन पहले से ही Babylon.js में और आंशिक रूप से Three.js , PlayCanvas , और TensorFlow.js में घोषित किया गया है।

इसका कार्यान्वयन WebGPU शुरुआत में केवल ChromeOS, macOS, और Windows के लिए बिल्ड पर ही सक्षम होगा, जबकि Linux और Android के लिए, WebGPU समर्थन बाद की तारीख में सक्रिय हो जाएगा।

अंत में, यदि आप इसके बारे में अधिक जानने में रुचि रखते हैं, तो आप विवरण देख सकते हैं निम्नलिखित लिंक में


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: एबी इंटरनेट नेटवर्क 2008 SL
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।