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