Android Jetpack WebGPU लाइब्रेरी, WebGPU स्टैंडर्ड के लिए, Kotlin के बाइंडिंग उपलब्ध कराती है. इससे आपके Android ऐप्लिकेशन में, बेहतर परफ़ॉर्मेंस वाले आधुनिक 3D ग्राफ़िक और कंप्यूटिंग की सुविधाएं मिलती हैं.
WebGPU, WebGL का नया वर्शन है. साथ ही, यह OpenGL का आधुनिक वर्शन है. इसे इस तरह से बनाया गया है कि यह मॉडर्न जीपीयू के काम करने के तरीके को दिखाता है. साथ ही, यह अलग-अलग प्लैटफ़ॉर्म पर जीपीयू की सुविधाओं को सुरक्षित और आसान तरीके से उपलब्ध कराता है.
WebGPU क्यों इस्तेमाल करें?
- इस्तेमाल में आसानी: Vulkan, Android पर मुख्य तौर पर इस्तेमाल होने वाला लो-लेवल ग्राफ़िक्स एपीआई है. WebGPU, एक मॉडर्न और हाई-लेवल एपीआई उपलब्ध कराता है. यह Vulkan की तुलना में इस्तेमाल करने में ज़्यादा आसान है और इसमें कम शब्दों का इस्तेमाल किया गया है.
- बैचिंग और सीरियलाइज़ेशन WebGPU, कई कमांड को कमांड बफ़र में रिकॉर्ड करता है. यह प्रोटोकॉल की चैट को कम करने के लिए डिज़ाइन किया गया है. इससे Kotlin बाइंडिंग का इस्तेमाल करते समय, बाहरी तरीकों को कॉल करने की ज़रूरत भी कम हो जाती है.
- सभी प्लैटफ़ॉर्म पर काम करता है: WebGPU शेडर कोड (WGSL) को सीधे तौर पर, WebGPU के सभी प्लैटफ़ॉर्म पर शेयर किया जा सकता है. इनमें वेब भी शामिल है.
- ऑप्टिमाइज़ किया गया कंप्यूट: कंप्यूट और ग्राफ़िक्स टास्क के बीच बफ़र को बिना किसी रुकावट के शेयर किया जा सकता है. इससे परफ़ॉर्मेंस बेहतर होती है और लेगसी एपीआई की तुलना में डेवलपमेंट आसान हो जाता है.
यह लाइब्रेरी किसके लिए है
इस लाइब्रेरी को, ज़्यादा परफ़ॉर्मेंस वाले ऐप्लिकेशन बनाने के लिए डिज़ाइन किया गया है. इन ऐप्लिकेशन को जीपीयू का सीधा ऐक्सेस चाहिए होता है:
- इमेज और वीडियो प्रोसेसिंग फ़िल्टर
- डेटा विज़ुअलाइज़ेशन
- मशीन लर्निंग इन्फ़रेंस
- गेम और सिम्युलेशन
नॉन-गोल्स: यह एक ग्राफ़िक्स एपीआई है, न कि गेम इंजन. अपने रेंडर लूप, कैमरा मैट्रिक्स, और सीन ग्राफ़ को मैनेज करने की ज़िम्मेदारी आपकी है.
WebGPU के मुख्य सिद्धांत
WebGPU डेवलपमेंट के लिए, WebGPU के बुनियादी ऑब्जेक्ट और उनके इंटरैक्शन को समझना ज़रूरी है.
कॉन्सेप्ट |
ब्यौरा |
इंस्टेंस |
WebGPU का एंट्री पॉइंट, जो अडैप्टर और सर्फ़ेस का ऐक्सेस देता है |
Adapter |
यह डिवाइस पर मौजूद किसी खास जीपीयू को दिखाता है |
डिवाइस |
उस GPU से आपका लॉजिकल कनेक्शन जहां संसाधन बनाए जाते हैं |
Queue |
यह एक ऐसा तरीका है जिसका इस्तेमाल, GPU को निर्देश सबमिट करने के लिए किया जाता है |
शेडर मॉड्यूल |
WebGPU Shading Language (WGSL) में लिखा गया आपका जीपीयू कोड |
पाइपलाइन |
किसी टास्क के लिए, पूरे जीपीयू की स्थिति (शेडर, ब्लेंडिंग) के बारे में बताने वाले ऑब्जेक्ट |
ग्रुप बाइंड करना |
यह डेटा बफ़र (जैसे: टेक्सचर) को शेडर से जोड़ता है |
कमांड एन्कोडर |
इस ऑब्जेक्ट का इस्तेमाल, जीपीयू कमांड के क्रम को कमांड बफ़र में बनाने के लिए किया जाता है |