Android GPU Inspector (AGI)-এর সাহায্যে, আপনি সিস্টেম প্রোফাইলিং করতে পারবেন যার মধ্যে আপনার Android অ্যাপের জন্য ট্রেসিং বিকল্পের বিস্তৃত রেঞ্জ এবং GPU পারফর্ম্যান্স পরিমাপ অন্তর্ভুক্ত। Android Studio প্রোফাইলিং টুলের তুলনায়, AGI সেইসব ক্ষমতার অনেকগুলিকে একটি টুলে একত্রিত করে এবং তারপরে আরও গভীরভাবে GPU কভারেজ এবং বিশ্লেষণ প্রদান করে। উপলভ্য সিস্টেম প্রোফাইলিং ডেটার মধ্যে নিম্নলিখিত তথ্য অন্তর্ভুক্ত থাকে:
- ATrace মার্কার সহ অ্যাপ ট্রেস ডেটা
- সিপিইউ এবং প্রসেস শিডিউলিং ডেটা
- GPU পারফর্ম্যান্স সংক্রান্ত তথ্য যেমন কাউন্টার, অ্যাক্টিভিটি ও লাইফসাইকেল ডেটা
- Vulkan API কলের জন্য ডেটা ট্রেস করুন
- মেমরি ব্যবহারের পরিসংখ্যান
- ব্যাটারি ব্যবহারের পরিসংখ্যান
সিস্টেম প্রোফাইলার হল AGI কম্পোনেন্ট যা UI এবং একাধিক অ্যাপ ফ্রেম জুড়ে সিস্টেম প্রোফাইলিংয়ের জন্য ইন্সট্রুমেন্টেশন ম্যানেজ করে। এটি Perfetto ট্রেসিং সিস্টেমের উপরে তৈরি করা হয়েছে। আলাদা অ্যাপ ফ্রেম প্রোফাইলিংয়ের জন্য AGI কম্পোনেন্ট সম্পর্কে তথ্যের জন্য, ফ্রেম প্রোফাইলার ওভারভিউ দেখুন।
শুরু করুন
AGI কুইকস্টার্ট থেকে জানা যায় যে কীভাবে AGI সেট-আপ করতে হয়, সিস্টেম প্রোফাইল ক্যাপচার করতে হয় এবং তারপর ফলাফল ট্রেস ফাইল খুলতে হয়। পরবর্তী বিভাগে কনফিগারেশন বিকল্প সম্পর্কে আরও বিস্তারিত বিবরণ দেওয়া হয়েছে।
প্রোফাইলিংয়ের বিকল্প
এই বিভাগে প্রধান বিকল্পগুলি বর্ণনা করা হয়েছে যা আপনি অ্যাপ প্রোফাইল করার সময় উপলভ্য থাকে।
অ্যাপ্লিকেশন সেটিংস
অ্যাপ্লিকেশন সেটিংস সিস্টেম প্রোফাইলিংয়ের সময় রান ও ট্রেস করার জন্য Android অ্যাপ শনাক্ত করে। সিস্টেম প্রোফাইলিংয়ের সময় ট্রেস করার জন্য Android অ্যাপ বেছে নেওয়া ঐচ্ছিক হলেও তা করার সাজেশন দেওয়া হয় কারণ এটি ছাড়া, ট্রেস ফাইলের ফলাফলে কোনও অ্যাপ্লিকেশনের জন্য ATrace মার্কার এবং GPU অ্যাক্টিভিটি অন্তর্ভুক্ত থাকবে না।
ট্রেস করার বিকল্প
ট্রেস করার বিকল্প থেকে কোন প্রোফাইলিং ডেটা সংগ্রহ করা হবে তা নির্দিষ্ট করা হয়। কনফিগার করুন বোতামে ক্লিক করলে উপলভ্য ডেটা সোর্স দেখা যায়।
আপনি সিস্টেম প্রোফাইল করার সময় Android ডিভাইসের পারফর্ম্যান্সে প্রভাব কমানোর জন্য, ট্রেস সময়সীমা এক মিনিটের বেশি সেট করলে, কম ডেটা সোর্স বেছে নেওয়ার সাজেশন দেওয়া হয়। তবে, এক মিনিটের কম সময়ের ট্রেসের জন্য, আপনি সব ডেটা সোর্স বেছে নিতে পারেন, এতে খুব কম প্রভাব পড়বে।
সিপিইউ (CPU) সংক্রান্ত বিকল্প
CPU বিকল্পটি ftrace-এর মাধ্যমে CPU এবং প্রসেস শিডিউলিং ডেটা সংগ্রহ করার সুবিধা চালু করে। এটি আপনাকে প্রতিটি CPU কোরে কোন প্রসেস এবং থ্রেড চলছে তা দেখতে দেয়। এছাড়াও, আপনি এইসব বিকল্প চালু করতে পারবেন:
- ফ্রিকোয়েন্সি ও আইডল স্টেট: CPU কোর ফ্রিকোয়েন্সি ও আইডল স্টেট পরিবর্তন সংক্রান্ত ইভেন্ট সংগ্রহ করে, যার মাধ্যমে আপনি লোডের ভিত্তিতে CPU কীভাবে স্কেল আপ বা ডাউন করা হয় তা দেখতে পারবেন।
- শিডিউলিং চেইন / লেটেন্সি: থ্রেড শিডিউলিং বিলম্ব এবং প্রি-এম্পশন সম্পর্কে অতিরিক্ত থ্রেড স্টেট ডেটা সংগ্রহ করে।
- থ্রেড স্লাইস: প্রসেস ভিউতে ATrace মার্কার সংগ্রহ করে।
GPU সংক্রান্ত বিকল্প
GPU বিকল্প আপনার অ্যাপের GPU ব্যবহারের প্রোফাইলিং চালু করে, যেমন GPU ফ্রিকোয়েন্সি এবং মেমরি ব্যবহারের ডেটা সংগ্রহ করা। এই ডেটা সংগ্রহ করতে, আপনাকে অ্যাপ্লিকেশন সেটিংসে ট্রেস করার জন্য একটি অ্যাপ্লিকেশন নির্দিষ্ট করতে হবে। বিকল্পগুলির মধ্যে নিম্নলিখিতগুলি অন্তর্ভুক্ত:
কাউন্টার: GPU কাউন্টার স্যাম্পেল সংগ্রহ করে। GPU কতটা ব্যস্ত তা নির্ধারণ করতে এবং বাধাগুলি খুঁজে বের করতে এই ডেটা ব্যবহার করা হয়, তাই আমরা আপনাকে এই সেটিংস কনফিগার করার পরামর্শ দিই।
কাউন্টারগুলি হার্ডওয়্যার-নির্দিষ্ট। যেমন, স্যাম্পেল সংগ্রহের (পোল রেট) ন্যূনতম ফ্রিকোয়েন্সি কাউন্টারের ধরনের উপর নির্ভর করে আলাদা হতে পারে। কোন কোন কাউন্টার কাজ করে সেই সম্পর্কে জানতে, GPU পারফর্ম্যান্স কাউন্টার দেখুন।
ফ্রেম লাইফসাইকেল: SufaceFlinger ইভেন্ট ট্রেস করে, যা আপনার অ্যাপ্লিকেশন, কম্পোজিটর ও উইন্ডো ম্যানেজারের মাধ্যমে ফ্রেম বাফার কীভাবে মুভ করে তা নির্ধারণ করতে সাহায্য করে। এইসব ইভেন্ট আপনাকে মিস করা অ্যাপ ফ্রেম লোকেট করতে এবং আপনার রেন্ডারিং পাইপলাইনে লেটেন্সির সোর্স শনাক্ত করতে সাহায্য করে।
Renderstage স্লাইস ডেটা সংগ্রহ করে যা আপনার অ্যাপ্লিকেশন কীভাবে GPU ব্যবহার করছে তা নির্ধারণ করতে সাহায্য করে।
Vulkan বিকল্প
Vulkan বিকল্প Vulkan API কল ট্রেস করার সুবিধা চালু করে, যা পরে ফাংশনের ধরন অনুযায়ী চালু করা যেতে পারে। Vulkan API কলের CPU ওভারহেড নির্ধারণ করতে আপনি এই ডেটা ব্যবহার করতে পারেন। ট্রেস প্রতিটি ফাংশন কলের সময়সীমা রেকর্ড করে, যা আপনার অ্যাপের থ্রেড স্লাইসের মধ্যে দেখানো হয় যখন আপনি Vulkan ইভেন্ট ট্র্যাকে ডেটা বিশ্লেষণ করেন।
অন্যান্য বিকল্প
অতিরিক্ত সিস্টেম প্রোফাইলিং বিকল্পের মধ্যে রয়েছে:
মেমরি: বিশ্বব্যাপী এবং প্রতিটি প্রসেসের জন্য মেমরি ব্যবহারের প্রয়োজনীয় পরিসংখ্যান সংগ্রহ করুন।
ব্যাটারি: ব্যাটারি সংক্রান্ত পরিসংখ্যান সংগ্রহ করে। এটি আপনার অ্যাপ্লিকেশনের পাওয়ার ব্যবহারের একটি আনুমানিক হিসেব দিতে পারে।
ডিভাইসের ফাইলে ট্রেসিং ফোর্স করা: ট্রেস ক্যাপচার করার সময় ট্রেস ডেটা সাধারণত USB-এর মাধ্যমে স্ট্রিম করা হয়, যার ফলে ওভারহেডের পরিমাণ সবচেয়ে কম হয় এবং দীর্ঘ ট্রেসের সুবিধা পাওয়া যায়। তবে, USB লেটেন্সির কারণে আপনি যদি সমস্যার সম্মুখীন হন বা প্রোফাইলিং ডেটা ড্রপ করেন, তাহলে ডিভাইসে ট্রেস ফাইল সেভ করতে আপনি এই বিকল্প বেছে নিতে পারেন, যা ট্রেসিং শেষ হওয়ার পরে AGI ডাউনলোড করে। ট্রেস ফাইল সেভ করার জন্য আপনার ডিভাইসের ইন্টার্নাল স্টোরেজে পর্যাপ্ত জায়গা থাকতে হবে।
উন্নত মোড
উন্নত মোডে পাল্টান লিঙ্ক উন্নত কনফিগারেশন মোড চালু করে, যা আপনাকে ম্যানুয়ালি Pefetto ট্রেস কনফিগারেশন এডিট করতে দেয়, যেখানে আপনার প্রোফাইলিং বিকল্প স্টোর করা থাকে।
ফলাফল দেখুন ও বিশ্লেষণ করুন
আপনি যখন সিস্টেম প্রোফাইলিং ডেটা সহ ট্রেস ফাইল খোলেন, তখন AGI বিশ্লেষণের জন্য সিস্টেম প্রোফাইলার UI-তে ডেটা দেখায়। ডেটা দেখার ব্যাপারে আরও তথ্যের জন্য, সিস্টেম প্রোফাইল দেখুন বিকল্পে যান।
এইসব বিষয় থেকে জানা যায় যে কীভাবে AGI-এর মাধ্যমে সিস্টেম প্রোফাইলিং ডেটা বিশ্লেষণ করতে হয়:
- ফ্রেম প্রসেসিংয়ের সময় বিশ্লেষণ করা
- মেমরি এফিসিয়েন্সি বিশ্লেষণ করুন
- টেক্সচার মেমরি ব্যান্ডউইথের ব্যবহার বিশ্লেষণ করা
- ভার্টেক্স মেমরি ব্যান্ডউইথের ব্যবহার বিশ্লেষণ করুন
- থ্রেড শিডিউলিং বিশ্লেষণ করুন