Android, Vulkan के साथ काम करता है. यह ज़्यादा परफ़ॉर्मेंस वाले 3D ग्राफ़िक के लिए, कम ओवरहेड वाला क्रॉस-प्लैटफ़ॉर्म एपीआई है. OpenGL ES (GLES) की तरह, Vulkan ऐप्लिकेशन में बेहतर क्वालिटी वाले, रीयल-टाइम ग्राफ़िक बनाने के लिए टूल उपलब्ध कराता है. Vulkan का इस्तेमाल करने के फ़ायदों में, सीपीयू ओवरहेड को कम करना और SPIR-V बाइनरी इंटरमीडिएट भाषा के लिए सहायता शामिल है.
सिस्टम ऑन चिप वेंडर (एसओसी), जैसे कि जीपीयू इंडिपेंडेंट हार्डवेयर वेंडर (आईएचवी), Android के लिए Vulkan ड्राइवर लिख सकते हैं. OEM को इन ड्राइवर को कुछ डिवाइसों के लिए इंटिग्रेट करना होगा. Vulkan ड्राइवर, सिस्टम के साथ कैसे इंटरैक्ट करता है, जीपीयू के हिसाब से टूल कैसे इंस्टॉल किए जाने चाहिए, और Android के लिए ज़रूरी शर्तें क्या हैं, इस बारे में ज़्यादा जानने के लिए Vulkan लागू करना लेख पढ़ें.
ऐप्लिकेशन डेवलपर, Vulkan का इस्तेमाल करके ऐसे ऐप्लिकेशन बनाते हैं जो जीपीयू पर कमांड को बहुत कम ओवरहेड के साथ एक्ज़ीक्यूट करते हैं. Vulkan, मौजूदा ग्राफ़िक्स हार्डवेयर में मौजूद सुविधाओं को EGL और GLES की तुलना में ज़्यादा सीधे तौर पर मैप करता है. इससे ड्राइवर से जुड़ी गड़बड़ियों की आशंका कम हो जाती है और डेवलपर के टेस्टिंग में लगने वाले समय में कमी आती है.
Vulkan के बारे में सामान्य जानकारी के लिए, Vulkan की खास जानकारी देखें या संसाधनों की सूची देखें.
Vulkan कॉम्पोनेंट
Vulkan के साथ काम करने वाले कॉम्पोनेंट यहां दिए गए हैं.
पहली इमेज. Vulkan कॉम्पोनेंट
कॉम्पोनेंट का नाम | सेवा देने वाली कंपनी | ब्यौरा |
---|---|---|
Vulkan की पुष्टि करने वाली लेयर | Android (एनडीके में) | Vulkan ऐप्लिकेशन डेवलप करते समय इस्तेमाल की जाने वाली लाइब्रेरी. इनकी मदद से, Vulkan API का इस्तेमाल करने वाले ऐप्लिकेशन में गड़बड़ियां ढूंढने में मदद मिलती है. एपीआई के इस्तेमाल से जुड़ी गड़बड़ियां मिलने के बाद, इन लाइब्रेरी को हटा दिया जाना चाहिए. |
Vulkan Runtime | Android | एक नेटिव लाइब्रेरी, libvulkan.so , जो नेटिव Vulkan API उपलब्ध कराती है.Vulkan Runtime की ज़्यादातर सुविधाओं को, जीपीयू बनाने वाली कंपनी के ड्राइवर से लागू किया जाता है. Vulkan Runtime, ड्राइवर को रैप करता है. साथ ही, एपीआई इंटरसेप्शन की सुविधाएं उपलब्ध कराता है. इनका इस्तेमाल डीबग करने और अन्य डेवलपर टूल के लिए किया जाता है. इसके अलावा, यह ड्राइवर और प्लैटफ़ॉर्म की डिपेंडेंसी के बीच इंटरैक्शन को मैनेज करता है. |
Vulkan ड्राइवर | SoC | यह Vulkan API को, हार्डवेयर के हिसाब से जीपीयू के निर्देशों और कर्नल ग्राफ़िक्स ड्राइवर के साथ इंटरैक्शन पर मैप करता है. |
बदले गए कॉम्पोनेंट
BufferQueue और Gralloc में Vulkan काम करता है:
- BufferQueue. BufferQueue और
ANativeWindow
इंटरफ़ेस में मौजूद अतिरिक्त enum वैल्यू और तरीकों की मदद से, Vulkan Runtime,ANativeWindow
के ज़रिए BufferQueue से कनेक्ट हो पाता है. - Gralloc. वैकल्पिक इंटरफ़ेस की मदद से, Gralloc यह पता लगा सकता है कि किसी बफ़र को असाइन किए बिना, किसी खास फ़ॉर्मैट का इस्तेमाल किसी प्रोड्यूसर/कंज्यूमर कॉम्बिनेशन के लिए किया जा सकता है या नहीं.
इन कॉम्पोनेंट के बारे में ज़्यादा जानने के लिए, BufferQueue और gralloc देखें. ANativeWindow
के बारे में ज़्यादा जानने के लिए, EGLSurfaces और OpenGL ES) देखें.
संसाधन
Vulkan के बारे में ज़्यादा जानने के लिए, इन संसाधनों का इस्तेमाल करें:
-
Vulkan Loader (
libvulkan.so
) atplatform/frameworks/native/vulkan
. इसमें Android का Vulkan लोडर और Vulkan से जुड़े कुछ ऐसे टूल शामिल हैं जो प्लैटफ़ॉर्म डेवलपर के लिए काम के हैं. - Vulkan को लागू करना. यह दस्तावेज़, जीपीयू आईएचवी के लिए है. ये आईएचवी, Android के लिए Vulkan ड्राइवर लिखते हैं. साथ ही, ओईएम उन ड्राइवर को खास डिवाइसों के लिए इंटिग्रेट करते हैं. इसमें बताया गया है कि Vulkan ड्राइवर, सिस्टम के साथ कैसे इंटरैक्ट करता है. साथ ही, इसमें यह भी बताया गया है कि जीपीयू के हिसाब से टूल कैसे इंस्टॉल किए जाने चाहिए और Android के हिसाब से लागू करने की ज़रूरी शर्तें क्या हैं.
- Vulkan Graphics API गाइड. इसमें Android ऐप्लिकेशन में Vulkan का इस्तेमाल शुरू करने, Android के Vulkan डिज़ाइन के दिशा-निर्देशों वाले प्लैटफ़ॉर्म, Vulkan के शेडर कंपाइलर का इस्तेमाल करने, और Vulkan का इस्तेमाल करने वाले ऐप्लिकेशन में स्थिरता बनाए रखने के लिए, पुष्टि करने वाली लेयर का इस्तेमाल करने के बारे में जानकारी शामिल है.
- Vulkan News. इसमें इवेंट, पैच, ट्यूटोरियल, और Vulkan से जुड़ी अन्य खबरें शामिल होती हैं.