कटलफ़िश: जीपीयू ग्राफ़िक एक्सेलरेटर

कटलफ़िश का एक्सेलरेटेड ग्राफ़िक्स मोड, आपकी होस्ट मशीन की फ़िज़िकल मशीन की परफ़ॉर्मेंस का इस्तेमाल करता है गेस्ट रेंडरिंग के निर्देश पास करके, रेंडरिंग के लिए ग्राफ़िक प्रोसेसिंग यूनिट (जीपीयू) से कनेक्ट करने के लिए, रेंडरिंग कमांड से आपकी होस्ट मशीन पर, रेंडर किए गए नतीजों को मेहमान को वापस भेजना.

Android 11 या इसके बाद के वर्शन में इस्तेमाल होने वाला Cuttleफ़िश डिवाइस एक्सेलरेटेड ग्राफ़िक का पता लगाता है और उनका इस्तेमाल करता है. अगर होस्ट मशीन काम नहीं करती एक्सेलरेटेड ग्राफ़िक या Android वर्शन Android 10 या इससे पहले के वर्शन वाले डिवाइसों पर, मेहमान-साइड रेंडरिंग (उदाहरण के लिए, यूआई और वीडियो प्लेबैक) आपके Cuttleफ़िश डिवाइस के यूआई और वीडियो प्लेबैक को SwiftShader मैनेज करता है. SwiftShader, OpenGL और Vulkan एपीआई का एक सॉफ़्टवेयर इंप्लिमेंटेशन है. क्योंकि SwiftShader, सॉफ़्टवेयर को लागू करने की एक सुविधा है, जो दुनिया भर में किसी भी होस्ट मशीन पर चलने में सक्षम कटलफ़िश के लिए रेंडरिंग समाधान.

हालांकि, SwiftShader किसी आम डिवाइस की तरह काम नहीं करता है. रेंडरिंग है एक ऐसी समस्या है जो साथ-साथ वैल्यू को अलग-अलग कैलकुलेट किया जा सकता है. ग्राफ़िक प्रोसेसिंग यूनिट (जीपीयू) हार्डवेयर यूनिट जो रेंडरिंग को बढ़ाकर इस समस्या को हल करती हैं.

ज़रूरी शर्तें

Accelerated ग्राफ़िक्स मोड के लिए ज़रूरी है कि होस्ट के पास:

  • GL_KHR_surfaceless_context एक्सटेंशन के साथ काम करने वाला EGL सक्षम ड्राइवर
  • OpenGL ES सक्षम ड्राइवर
  • Vulkan सक्षम ड्राइवर

एक्सेलरेटेड ग्राफ़िक मोड का इस्तेमाल करना

Gfxस्ट्रीम

GfxStream एक्सेलरेटेड ग्राफ़िक मोड का इस्तेमाल करने के लिए, लोकल कटलफ़िश लॉन्च करें --gpu_mode=gfxstream फ़्लैग वाला डिवाइस. इस मोड, OpenGL और Vulkan का इस्तेमाल किया जा रहा है एपीआई कॉल सीधे होस्ट को फ़ॉरवर्ड किए जाते हैं.

launch_cvd --gpu_mode=gfxstream

विर्गल

Virgl के एक्सेलरेटेड ग्राफ़िक मोड का इस्तेमाल करने के लिए, अपना लोकल Cuttleफ़िश डिवाइस लॉन्च करें --gpu_mode=drm_virgl फ़्लैग के साथ.

launch_cvd --gpu_mode=drm_virgl

Virgl के एक्सेलरेटेड ग्राफ़िक मोड का इस्तेमाल करते समय, OpenGL API कॉल का अनुवाद किया जाता है को इंटरमीडिएट तौर पर दिखाना (देखें Gallium3D). कॉन्टेंट बनाने इंटरमीडिएट प्रज़ेंटेशन की जानकारी होस्ट को दी जाती है और virglrenderer लाइब्रेरी चालू है होस्ट, इंटरमीडिएट प्रज़ेंटेशन को OpenGL API कॉल में बदल देता है.