Android जीपीयू इंस्पेक्टर क्विकस्टार्ट

इस विषय में, Android GPU Inspector (AGI) का इस्तेमाल करके, अपने Android ऐप्लिकेशन पर सिस्टम की परफ़ॉर्मेंस को ट्रैक करने वाले टूल और फ़्रेम की परफ़ॉर्मेंस को ट्रैक करने वाले टूल को इस्तेमाल करने का तरीका बताया गया है.

यह क्विकस्टार्ट गाइड, उन डेवलपर के लिए है जिन्हें Android पर ग्राफ़िक्स डेवलपमेंट के बारे में जानकारी है.

कंप्यूटर से जुड़ी ज़रूरी शर्तें

AGI को चलाने वाले कंप्यूटर में ये ज़रूरी शर्तें पूरी होनी चाहिए:

AGI को डाउनलोड और इंस्टॉल करना

अपने ऑपरेटिंग सिस्टम के लिए, AGI को डाउनलोड और इंस्टॉल करें.

Android ऐप्लिकेशन से जुड़ी ज़रूरी शर्तें

इस सेक्शन में, Android ऐप्लिकेशन की प्रोफ़ाइल बनाने से जुड़ी ज़रूरी शर्तों के बारे में बताया गया है:

  • आपका Android ऐप्लिकेशन डीबग किया जा सकने वाला होना चाहिए. साथ ही, ऐप्लिकेशन के Android मेनिफ़ेस्ट में मौजूद debuggable एट्रिब्यूट को true पर सेट किया जाना चाहिए. इस एट्रिब्यूट की मदद से, ग्राफ़िक्स ड्राइवर से सही इंस्ट्रुमेंटेशन चालू किया जा सकता है. Vulkan ऐप्लिकेशन के लिए, यह एट्रिब्यूट AGI को ऐप्लिकेशन शुरू होने पर, अपनी Vulkan लेयर जोड़ने की अनुमति देता है.

    <application [...] android:debuggable="true">
    

अगर आपका ऐप्लिकेशन नेटिव तौर पर Vulkan का इस्तेमाल करता है, तो AGI के लिए यह भी ज़रूरी है:

  • आपके ऐप्लिकेशन में Vulkan की पुष्टि करने वाली लेयर चालू होनी चाहिए. अगर ये सुविधाएं चालू नहीं हैं, तो अपने ऐप्लिकेशन को AGI apk (com.google.android.gapid.<abi>) में शामिल पुष्टि करने वाली लेयर के साथ चलाने के लिए, यहां दिए गए निर्देश चलाएं:

    app_package=<YOUR APP PACKAGE NAME HERE>
    abi=arm64v8a # Possible values: arm64v8a, armeabi-v7a, x86
    
    adb shell settings put global enable_gpu_debug_layers 1
    adb shell settings put global gpu_debug_app ${app_package}
    adb shell settings put global gpu_debug_layer_app com.google.android.gapid.${abi}
    adb shell settings put global gpu_debug_layers VK_LAYER_KHRONOS_validation
    

    प्रोफ़ाइलिंग पूरी होने के बाद, इन पुष्टि करने वाली लेयर को बंद किया जा सकता है. इसके लिए, ये कमांड इस्तेमाल करें:

    adb shell settings delete global enable_gpu_debug_layers
    adb shell settings delete global gpu_debug_app
    adb shell settings delete global gpu_debug_layers
    adb shell settings delete global gpu_debug_layer_app
    
  • Vulkan की पुष्टि करने वाली लेयर चालू होने पर, आपके ऐप्लिकेशन में कोई चेतावनी या गड़बड़ी नहीं दिखनी चाहिए. प्रोफ़ाइलिंग करने से पहले, Vulkan की पुष्टि करने से जुड़ी किसी भी गड़बड़ी को ठीक करें.

  • अगर बीटा वर्शन वाले जीपीयू ड्राइवर का इस्तेमाल किया जा रहा है, तो Android मेनिफ़ेस्ट के <application> टैग में यह मेटाडेटा शामिल करें:

    <meta-data
              android:name="com.android.graphics.developerdriver.enable"
              android:value="true" />
    

Android डिवाइस से जुड़ी ज़रूरी शर्तें

AGI के लिए, Android डिवाइस से जुड़ी ये ज़रूरी शर्तें हैं:

  • Android 11 या इसके बाद के वर्शन पर काम करने वाला Android डिवाइस.

  • यूएसबी केबल.

  • adb डीबगिंग चालू होनी चाहिए और डिवाइस को adb के ज़रिए ऐक्सेस किया जा सकता हो. अगर यूएसबी के ज़रिए इंस्टॉल करें विकल्प मौजूद है, तो उसे चालू करें.

डिवाइस की पुष्टि करना

AGI के लिए, इसके साथ काम करने वाला जीपीयू ड्राइवर ज़रूरी है. यह पक्का करने के लिए कि AGI, मान्य प्रोफ़ाइलिंग डेटा उपलब्ध कराता है, पहली बार नया डिवाइस कनेक्ट करने पर AGI, पुष्टि करने की प्रोसेस शुरू करता है. इसमें करीब दस सेकंड लगते हैं. जांच पास करने के बाद, Android ऐप्लिकेशन की प्रोफ़ाइल बनाने के लिए डिवाइस का इस्तेमाल किया जा सकता है.

पुष्टि की प्रोसेस के दौरान, डिवाइस को इस्तेमाल न करें. इस वजह से, डिवाइस की पुष्टि नहीं हो पाएगी. अगर किसी डिवाइस की पुष्टि नहीं हो पाती है, लेकिन उसे सही तरीके से सेट अप किया गया है, तो डिवाइस को फिर से चुनकर पुष्टि करने की कोशिश की जा सकती है.

किसी डिवाइस के लिए, पुष्टि करने की प्रक्रिया सिर्फ़ एक बार की जाती है. साथ ही, एजीआई का इस्तेमाल आने वाले समय में करने के लिए, नतीजों को कैश मेमोरी में सेव किया जाता है. हालांकि, अगर डिवाइस के सेटअप में बदलाव होता है, तो एजीआई फिर से पुष्टि करेगा. जैसे, अगर जीपीयू ड्राइवर या Android वर्शन अपडेट किया जाता है.

अगर किसी डिवाइस को साथ काम करने वाला डिवाइस बताया गया है, तो आपको एजीआई के मान्य होने की उम्मीद रखनी चाहिए. अगर डिवाइस का नाम सूची में नहीं है, तो हो सकता है कि उसका जीपीयू ड्राइवर, AGI के साथ काम न करता हो.

अगर आपके डिवाइस पर यह सुविधा काम करती है, लेकिन पुष्टि नहीं हो पाती है

पक्का करें कि आपने पिछले सेक्शन में बताई गई, Android डिवाइस से जुड़ी सभी ज़रूरी शर्तें और कंप्यूटर से जुड़ी ज़रूरी शर्तें पूरी कर ली हों. साथ ही, यह भी पक्का करें कि डिवाइस, यूएसबी केबल से कंप्यूटर से सही तरीके से कनेक्ट हो.

अगर सभी ज़रूरी शर्तें पूरी होती हैं, तो GitHub रिपॉज़िटरी में समस्या की शिकायत करें. इसमें समस्या के बारे में बताएं.

अगर आपके डिवाइस पर यह सुविधा काम नहीं करती है

हम अपने ओईएम पार्टनर के साथ मिलकर काम कर रहे हैं, ताकि इस सुविधा को ज़्यादा डिवाइसों पर उपलब्ध कराया जा सके. किसी डिवाइस के लिए सहायता का अनुरोध करने के लिए, हमारी GitHub रिपॉज़िटरी में समस्या की शिकायत करें.

प्रोफ़ाइलिंग डेटा कैप्चर करना

यहां दिए गए सेक्शन में, प्रोफ़ाइलिंग डेटा कैप्चर करने और नतीजों वाली ट्रेस फ़ाइल खोलने का तरीका बताया गया है, ताकि नतीजों का विश्लेषण किया जा सके.

Android की सेटिंग कॉन्फ़िगर करना

प्रोफ़ाइलिंग शुरू करने से पहले, आपको Android ऐप्लिकेशन और डिवाइस की इन सेटिंग को कॉन्फ़िगर करना होगा. इनसे यह तय होता है कि किस ऐप्लिकेशन और डिवाइस की प्रोफ़ाइलिंग करनी है.

  1. यूएसबी केबल का इस्तेमाल करके, अपने Android डिवाइस को कंप्यूटर से कनेक्ट करें.

  2. अपने कंप्यूटर पर AGI लॉन्च करें.

    AGI को पहली बार लॉन्च करने पर, Welcome स्क्रीन दिखती है. इसमें आपसे adb एक्ज़ीक्यूटेबल का पाथ पूछा जाता है. AGI, इन सेटिंग को आपके HOME फ़ोल्डर में मौजूद .agic फ़ाइल में सेव करता है. अगर आपने पहले ही ऐसा कर लिया है, तो इस चरण को छोड़ा जा सकता है.

    वेलकम स्क्रीन
    पहली इमेज: वेलकम स्क्रीन.
  3. adb का पाथ फ़ील्ड में, adb की एक्ज़िक्यूट की जा सकने वाली फ़ाइल का पाथ डालें. इस फ़ील्ड के बाद दिए गए चेकबॉक्स को चुनना ज़रूरी नहीं है.

  4. लॉन्च स्क्रीन दिखाने के लिए, शुरू करें पर क्लिक करें.

    AGI की लॉन्च स्क्रीन
    दूसरी इमेज: Android GPU Inspector की मुख्य लॉन्च स्क्रीन.
  5. लॉन्च स्क्रीन में, नया ट्रेस कैप्चर करें पर क्लिक करें. इससे नया ट्रेस कैप्चर करें डायलॉग दिखता है. इसके अलावा, सिस्टम प्रोफ़ाइल ट्रेस कैप्चर करें बटन पर क्लिक करके भी ऐसा किया जा सकता है.

    &#39;नया ट्रेस कैप्चर करें&#39; डायलॉग बॉक्स
    तीसरी इमेज: नया ट्रेस कैप्चर करें डायलॉग.
  6. डिवाइस और टाइप सेक्शन में जाकर, वह Android डिवाइस चुनें जिसकी आपको प्रोफ़ाइल बनानी है. अगर यह डिवाइस सूची में नहीं दिख रहा है, तो सूची को रीफ़्रेश करने के लिए, फिर से लोड करें वाले ऐरो पर क्लिक करें.

  7. ऐप्लिकेशन सेक्शन में जाकर, वह ऐप्लिकेशन चुनें जिसकी आपको प्रोफ़ाइल बनानी है. अगर पैकेज में सिर्फ़ एक गतिविधि है, तो गतिविधि के बजाय पैकेज को चुना जा सकता है.

    AGI में, Vulkan का एक सैंपल ऐप्लिकेशन शामिल होता है. अपने ऐप्लिकेशन के बजाय सैंपल ऐप्लिकेशन का इस्तेमाल करने के लिए, यह तरीका अपनाएं:

    1. ऐप्लिकेशन फ़ील्ड के बगल में मौजूद, ... बटन पर क्लिक करें.

      इससे ट्रेस करने के लिए कोई ऐप्लिकेशन चुनें डायलॉग दिखता है. इसमें, चुने गए डिवाइस पर ट्रेस किए जा सकने वाले ऐप्लिकेशन की सूची दिखती है.

    2. फ़िल्टर टेक्स्ट बॉक्स में, gapid टाइप करें. इससे सिर्फ़ वे ऐप्लिकेशन दिखेंगे जिनके पैकेज के नाम में gapid शामिल है.

    3. पैकेज को बड़ा करें और com.google.android.gapid.VkSampleActivity चुनें. इसके बाद, ठीक है पर क्लिक करें.

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

  8. ऐप्लिकेशन सेक्शन में, अन्य फ़ील्ड को खाली छोड़ दें.

  9. ठीक है पर क्लिक करें.

अब आपके पास सिस्टम और फ़्रेम की प्रोफ़ाइलिंग करने के लिए, एजीआई का इस्तेमाल करने का विकल्प है.

किसी सिस्टम की प्रोफ़ाइल बनाना

किसी सिस्टम की प्रोफ़ाइल बनाने के लिए, यह तरीका अपनाएं:

  1. AGI की लॉन्च स्क्रीन पर, नया ट्रेस कैप्चर करें पर क्लिक करें. इससे सिस्टम प्रोफ़ाइल कैप्चर करें डायलॉग बॉक्स दिखेगा.

  2. टाइप सूची में, सिस्टम प्रोफ़ाइल चुनें.

  3. शुरू होने का समय और अवधि सेक्शन में जाकर, शुरू होने का समय को मैन्युअल पर सेट करें. इसके बाद, अवधि को 2 पर सेट करें.

  4. ट्रेस के विकल्प सेक्शन में, कॉन्फ़िगर करें पर क्लिक करें. इससे, प्रोफ़ाइलिंग के विकल्पों की सूची दिखती है.

    Capture Config डायलॉग बॉक्स
    चौथी इमेज: Capture System Profile डायलॉग में प्रोफ़ाइलिंग के विकल्प.
  5. वह प्रोफ़ाइलिंग डेटा चुनें जिसे आपको कैप्चर करना है.

  6. GPU सेक्शन में जाकर, चुनें पर क्लिक करें.

    इससे, चुनने के लिए काउंटर की सूची दिखती है.

    काउंटर का कॉन्फ़िगरेशन
    पांचवीं इमेज: काउंटर चुनना.
  7. डिफ़ॉल्ट काउंटर का सेट चुनने के लिए, डिफ़ॉल्ट पर क्लिक करें. इसके बाद, प्रोफ़ाइलिंग के विकल्पों पर वापस जाने के लिए, ठीक है पर क्लिक करें.

  8. सिस्टम प्रोफ़ाइल कैप्चर करें डायलॉग पर वापस जाने के लिए, ठीक है पर क्लिक करें.

  9. आउटपुट सेक्शन में, आउटपुट डायरेक्ट्री चुनें. इसमें प्रोफ़ाइलिंग के दौरान जनरेट हुई ट्रेस फ़ाइलें सेव की जाएंगी. फ़ाइल का नाम फ़ील्ड अपने-आप भर जाता है. हालांकि, इसमें बदलाव भी किया जा सकता है.

  10. ठीक है पर क्लिक करें. इससे Android डिवाइस पर चुना गया ऐप्लिकेशन शुरू हो जाता है. साथ ही, शुरू करें बटन वाली एक पॉप-अप विंडो दिखती है.

  11. प्रोफ़ाइलिंग डेटा कैप्चर करना शुरू करने के लिए, शुरू करें बटन पर क्लिक करें. इसके बाद, प्रोसेस पूरी होने के लिए कुछ सेकंड इंतज़ार करें.

  12. ट्रेस खोलें पर क्लिक करें. शुरुआती व्यू, systrace के जैसा होता है.

    सिस्टम प्रोफ़ाइल ट्रेस
    छठी इमेज: सिस्टम प्रोफ़ाइलर का यूज़र इंटरफ़ेस.

    सिस्टम ट्रेस में उपलब्ध डेटा के अलावा, एजीआई, जीपीयू की परफ़ॉर्मेंस की जानकारी भी दिखाता है. सिस्टम प्रोफ़ाइलिंग डेटा देखने के बारे में ज़्यादा जानने के लिए, एजीआई सिस्टम प्रोफ़ाइल देखना लेख पढ़ें.

ज़्यादा सेटिंग के बारे में जानकारी के लिए, सिस्टम प्रोफ़ाइलिंग के विकल्प देखें.

किसी फ़्रेम की प्रोफ़ाइल बनाना

अपने ऐप्लिकेशन के किसी फ़्रेम की प्रोफ़ाइल बनाने के लिए, यह तरीका अपनाएं:

  1. AGI की लॉन्च स्क्रीन पर, नया ट्रेस कैप्चर करें पर क्लिक करें. इससे नया ट्रेस कैप्चर करें डायलॉग बॉक्स दिखेगा. इसके अलावा, Capture Frame Profile trace बटन पर क्लिक करके भी ऐसा किया जा सकता है.

  2. टाइप सूची में, Vulkan या ANGLE पर OpenGL चुनें. यह इस बात पर निर्भर करता है कि आपका ऐप्लिकेशन कौनसे Graphics API का इस्तेमाल करता है. पक्का करें कि आपने सही विकल्प चुना हो. ऐसा न करने पर, एजीआई ग्राफ़िक से जुड़े किसी भी निर्देश को कैप्चर नहीं करेगा.

  3. शुरू होने का समय और अवधि सेक्शन में जाकर, शुरू होने का समय को मैन्युअल पर सेट करें. अगर आपने Capture Frame Profile trace बटन पर क्लिक किया है, तो यह चरण पहले ही पूरा हो गया है.

  4. आउटपुट सेक्शन में, ट्रेस फ़ाइलों को सेव करने के लिए आउटपुट डायरेक्ट्री चुनें. फ़ाइल का नाम फ़ील्ड अपने-आप भर जाता है. हालांकि, आपके पास इसे बदलने का विकल्प भी होता है.

  5. ज़रूरी नहीं: कुछ ऐप्लिकेशन, ग्राफ़िक की प्रोसेसिंग के लिए अलग प्रोसेस शुरू करते हैं. उस प्रोसेस को कैप्चर करने के लिए, उसका नाम बताएं.

  6. ठीक है पर क्लिक करें. इससे Android डिवाइस पर आपका ऐप्लिकेशन शुरू हो जाता है. साथ ही, शुरू करें बटन वाली एक पॉप-अप विंडो दिखती है.

  7. शुरू करें बटन पर क्लिक करें और प्रोफ़ाइलिंग पूरी होने के लिए कुछ सेकंड इंतज़ार करें.

  8. प्रोफ़ाइलिंग डेटा देखने के लिए, ट्रेस खोलें पर क्लिक करें. फ़्रेम प्रोफ़ाइलर यूज़र इंटरफ़ेस (यूआई) में मौजूद हर पैन के बारे में जानकारी पाने के लिए, फ़्रेम प्रोफ़ाइलिंग की खास जानकारी देखें.

अन्य सेटिंग के बारे में जानकारी के लिए, फ़्रेम की प्रोफ़ाइलिंग के विकल्प देखें.