Android GPU Inspector (AGI) की मदद से, सिस्टम की प्रोफ़ाइलिंग की जा सकती है. इसमें Android ऐप्लिकेशन के लिए, ट्रेसिंग के कई विकल्प और जीपीयू की परफ़ॉर्मेंस के मेज़रमेंट शामिल हैं. Android Studio के प्रोफ़ाइलिंग टूल की तुलना में, AGI उन कई सुविधाओं को एक टूल में जोड़ता है. इसके बाद, जीपीयू के बारे में ज़्यादा जानकारी और विश्लेषण उपलब्ध कराता है. सिस्टम की प्रोफ़ाइलिंग के लिए उपलब्ध डेटा में यह जानकारी शामिल होती है:
- ऐप्लिकेशन का ट्रेस डेटा. इसमें ATrace मार्कर शामिल हैं
- सीपीयू और प्रोसेस शेड्यूल करने का डेटा
- जीपीयू की परफ़ॉर्मेंस की जानकारी. जैसे, काउंटर, गतिविधि, और लाइफ़साइकल का डेटा
- Vulkan API कॉल के लिए ट्रेस डेटा
- मेमोरी के इस्तेमाल के आंकड़े
- बैटरी के इस्तेमाल के आंकड़े
सिस्टम प्रोफ़ाइलर, एजीआई का वह कॉम्पोनेंट है जो कई ऐप्लिकेशन फ़्रेम पर सिस्टम प्रोफ़ाइलिंग के लिए यूज़र इंटरफ़ेस (यूआई) और इंस्ट्रूमेंटेशन को मैनेज करता है. इसे Perfetto ट्रेसिंग सिस्टम के आधार पर बनाया गया है. किसी ऐप्लिकेशन के अलग-अलग फ़्रेम की प्रोफ़ाइलिंग के लिए, एजीआई कॉम्पोनेंट के बारे में जानकारी पाने के लिए, फ़्रेम प्रोफ़ाइलर की खास जानकारी देखें.
शुरू करें
AGI क्विकस्टार्ट में, AGI को सेट अप करने, सिस्टम प्रोफ़ाइल कैप्चर करने, और फिर ट्रेस फ़ाइल खोलने का तरीका बताया गया है. अगले सेक्शन में, कॉन्फ़िगरेशन के विकल्पों के बारे में ज़्यादा जानकारी दी गई है.
प्रोफ़ाइलिंग के विकल्प
इस सेक्शन में, ऐप्लिकेशन की परफ़ॉर्मेंस की जांच करते समय उपलब्ध मुख्य विकल्पों के बारे में बताया गया है.
ऐप्लिकेशन सेटिंग
ऐप्लिकेशन सेटिंग से, सिस्टम प्रोफ़ाइलिंग के दौरान चलाने और ट्रैक करने के लिए Android ऐप्लिकेशन की पहचान की जाती है. सिस्टम प्रोफ़ाइलिंग के दौरान, Android ऐप्लिकेशन को ट्रेस करने के लिए चुनना ज़रूरी नहीं है. हालांकि, ऐसा करने का सुझाव दिया जाता है. इसकी वजह यह है कि ऐसा न करने पर, ट्रेस फ़ाइल में ATrace मार्कर और किसी ऐप्लिकेशन के लिए जीपीयू गतिविधि शामिल नहीं होगी.
ट्रेस करने के विकल्प
ट्रेस के विकल्प से यह तय होता है कि प्रोफ़ाइलिंग का कौनसा डेटा इकट्ठा करना है. कॉन्फ़िगर करें बटन पर क्लिक करने से, उपलब्ध डेटा सोर्स दिखते हैं.
सिस्टम की प्रोफ़ाइल बनाते समय, Android डिवाइस की परफ़ॉर्मेंस पर पड़ने वाले असर को कम करने के लिए, हमारा सुझाव है कि अगर आपने ट्रेस अवधि को एक मिनट से ज़्यादा पर सेट किया है, तो कम डेटा सोर्स चुनें. हालांकि, एक मिनट से कम समय के लिए ट्रेस किए गए डेटा के लिए, सभी डेटा सोर्स चुने जा सकते हैं. इससे परफ़ॉर्मेंस पर कम असर पड़ेगा.
सीपीयू के विकल्प
सीपीयू विकल्प की मदद से, सीपीयू और प्रोसेस शेड्यूलिंग डेटा को ftrace के ज़रिए इकट्ठा किया जा सकता है. इससे आपको यह देखने में मदद मिलती है कि हर सीपीयू कोर पर कौनसी प्रोसेस और थ्रेड चल रही है. इन विकल्पों को भी चालू किया जा सकता है:
- फ़्रीक्वेंसी और आइडल स्टेट: यह सीपीयू कोर फ़्रीक्वेंसी और आइडल स्टेट में बदलाव वाले इवेंट इकट्ठा करता है. इससे यह पता चलता है कि लोड के आधार पर सीपीयू को कैसे बढ़ाया या घटाया जाता है.
- चेन को शेड्यूल करना / इंतज़ार का समय: यह थ्रेड के शेड्यूल में होने वाली देरी और प्रीएम्पशन के बारे में थ्रेड की स्थिति का अतिरिक्त डेटा इकट्ठा करता है.
- थ्रेड स्लाइस: प्रोसेस व्यू में ATrace मार्कर इकट्ठा करता है.
GPU के विकल्प
जीपीयू विकल्पों की मदद से, आपके ऐप्लिकेशन में जीपीयू के इस्तेमाल की प्रोफ़ाइलिंग की जा सकती है. जैसे, जीपीयू फ़्रीक्वेंसी और मेमोरी के इस्तेमाल से जुड़ा डेटा इकट्ठा करना. इस डेटा को इकट्ठा करने के लिए, आपको ऐप्लिकेशन सेटिंग में जाकर, ट्रेस करने के लिए कोई ऐप्लिकेशन चुनना होगा. आपके पास ये विकल्प होंगे:
काउंटर: यह जीपीयू काउंटर के सैंपल इकट्ठा करता है. इस डेटा का इस्तेमाल यह पता लगाने के लिए किया जाता है कि GPU कितना व्यस्त है और परफ़ॉर्मेंस में आने वाली रुकावटों का पता लगाने के लिए किया जाता है. इसलिए, हमारा सुझाव है कि आप इन सेटिंग को कॉन्फ़िगर करें.
ये काउंटर, हार्डवेयर के हिसाब से होते हैं. उदाहरण के लिए, काउंटर के टाइप के आधार पर, सैंपल इकट्ठा करने की कम से कम फ़्रीक्वेंसी (पोल रेट) अलग-अलग हो सकती है. सपोर्ट किए गए काउंटर के बारे में जानकारी पाने के लिए, जीपीयू परफ़ॉर्मेंस काउंटर लेख पढ़ें.
फ़्रेम लाइफ़साइकल: यह SufaceFlinger इवेंट को ट्रैक करता है. इससे यह पता चलता है कि फ़्रेम बफ़र, आपके ऐप्लिकेशन, कंपोज़िटर, और विंडो मैनेजर के ज़रिए कैसे मूव करते हैं. इन इवेंट की मदद से, आपको छूटे हुए ऐप्लिकेशन फ़्रेम का पता लगाने में मदद मिलती है. साथ ही, रेंडरिंग पाइपलाइन में लेटेन्सी के सोर्स की पहचान करने में मदद मिलती है.
Renderstage स्लाइस यह डेटा इकट्ठा करता है. इससे यह तय करने में मदद मिलती है कि आपका ऐप्लिकेशन, GPU का इस्तेमाल कैसे कर रहा है.
Vulkan के विकल्प
Vulkan विकल्पों की मदद से, Vulkan एपीआई कॉल को ट्रेस किया जा सकता है. इसके बाद, इन्हें फ़ंक्शन टाइप के हिसाब से चालू किया जा सकता है. इस डेटा का इस्तेमाल करके, Vulkan API कॉल के सीपीयू ओवरहेड का पता लगाया जा सकता है. ट्रेस, हर फ़ंक्शन कॉल की अवधि को रिकॉर्ड करता है. यह आपके ऐप्लिकेशन के थ्रेड स्लाइस में दिखता है. ऐसा तब होता है, जब Vulkan इवेंट ट्रैक में डेटा का विश्लेषण किया जाता है.
दूसरे विकल्प
सिस्टम की प्रोफ़ाइलिंग के अतिरिक्त विकल्पों में ये शामिल हैं:
मेमोरी: मेमोरी के इस्तेमाल से जुड़े ज़रूरी आंकड़े इकट्ठा करता है. ये आंकड़े, ग्लोबल लेवल पर और हर प्रोसेस के लिए इकट्ठा किए जाते हैं.
बैटरी: यह कुकी, बैटरी के आंकड़े इकट्ठा करती है. इससे आपको अपने ऐप्लिकेशन की बिजली की खपत का अनुमान मिल सकता है.
डिवाइस पर मौजूद फ़ाइल में फ़ोर्स ट्रेसिंग: आम तौर पर, ट्रेस कैप्चर किए जाने के दौरान यूएसबी पर ट्रेस डेटा स्ट्रीम किया जाता है. इससे ओवरहेड कम होता है और लंबे समय तक ट्रेसिंग की जा सकती है. हालांकि, अगर आपको यूएसबी की वजह से होने वाली देरी की वजह से समस्याएं आ रही हैं या प्रोफ़ाइलिंग डेटा नहीं मिल रहा है, तो इस विकल्प को चुना जा सकता है. इससे डिवाइस पर ट्रेस फ़ाइल सेव हो जाती है. इसके बाद, ट्रेसिंग पूरी होने पर AGI इसे डाउनलोड कर लेता है. इसके लिए, आपके डिवाइस के इंटरनल स्टोरेज में ट्रेस फ़ाइल को सेव करने के लिए ज़रूरी जगह होनी चाहिए.
बेहतर मोड
ऐडवांस मोड पर स्विच करें लिंक, ऐडवांस कॉन्फ़िगरेशन मोड लॉन्च करता है. इसकी मदद से, Pefetto ट्रेस कॉन्फ़िगरेशन को मैन्युअल तरीके से बदला जा सकता है. यह आपके प्रोफ़ाइलिंग विकल्पों को सेव करता है.
नतीजे देखना और उनका विश्लेषण करना
सिस्टम की प्रोफ़ाइलिंग का डेटा शामिल करने वाली ट्रेस फ़ाइल खोलने पर, AGI विश्लेषण के लिए सिस्टम प्रोफ़ाइलर यूज़र इंटरफ़ेस (यूआई) में डेटा दिखाता है. डेटा देखने के बारे में जानकारी पाने के लिए, सिस्टम प्रोफ़ाइल देखना लेख पढ़ें.
इन विषयों में, एजीआई की मदद से सिस्टम प्रोफ़ाइलिंग डेटा का विश्लेषण करने का तरीका बताया गया है:
- फ़्रेम प्रोसेस होने में लगने वाले समय का विश्लेषण करना
- मेमोरी के इस्तेमाल का विश्लेषण करना
- टेक्स्चर के लिए मेमोरी बैंडविथ के इस्तेमाल का विश्लेषण करना
- वर्टेक्स मेमोरी बैंडविथ के इस्तेमाल का विश्लेषण करना
- थ्रेड शेड्यूल करने की सुविधा का विश्लेषण करना