এই অধ্যায়ে অ্যান্ড্রয়েড জিপিইউ ইন্সপেক্টর (AGI) ব্যবহার করে আপনার অ্যান্ড্রয়েড অ্যাপে কীভাবে সিস্টেম প্রোফাইলিং এবং ফ্রেম প্রোফাইলিং করা যায়, তা বর্ণনা করা হয়েছে।
এই কুইকস্টার্টটি সেইসব ডেভেলপারদের জন্য তৈরি করা হয়েছে, যারা অ্যান্ড্রয়েডে গ্রাফিক্স ডেভেলপমেন্টের সাথে পরিচিত।
কম্পিউটারের প্রয়োজনীয়তা
যে কম্পিউটারে AGI চালানো হয়, সেটিকে অবশ্যই এই শর্তগুলো পূরণ করতে হবে:
নিম্নলিখিত অপারেটিং সিস্টেমগুলোর মধ্যে যেকোনো একটি প্রয়োজন:
উইন্ডোজ : উইন্ডোজ ৭ বা উচ্চতর সংস্করণ।
ম্যাকওএস : এল ক্যাপিটান (১০.১১) বা উচ্চতর সংস্করণ।
লিনাক্স : জাভা ৬৪-বিট জেডিকে অথবা জেআরই ৮ (বা নতুন সংস্করণ) প্রয়োজন; উবুন্টু ট্রাস্টি টাহর (১৪.০৪ বা উচ্চতর সংস্করণ) ব্যবহার করার পরামর্শ দেওয়া হয়।
AGI ডাউনলোড এবং ইনস্টল করুন
আপনার অপারেটিং সিস্টেমের জন্য AGI ডাউনলোড ও ইনস্টল করুন।
অ্যান্ড্রয়েড অ্যাপের প্রয়োজনীয়তা
এই বিভাগে প্রোফাইল করা হচ্ছে এমন অ্যান্ড্রয়েড অ্যাপটির জন্য প্রয়োজনীয়তাগুলো বর্ণনা করা হয়েছে:
আপনার অ্যান্ড্রয়েড অ্যাপটি অবশ্যই ডিবাগযোগ্য হতে হবে; অ্যাপটির অ্যান্ড্রয়েড ম্যানিফেস্টে থাকা ‘debuggable’ অ্যাট্রিবিউটটি ‘
trueসেট করতে হবে। এই অ্যাট্রিবিউটটি গ্রাফিক্স ড্রাইভার থেকে যথাযথ ইন্সট্রুমেন্টেশন সক্ষম করে। ভলকান (Vulkan) অ্যাপ্লিকেশনগুলির ক্ষেত্রে, এই অ্যাট্রিবিউটটি অ্যাপ্লিকেশনটি চালু হওয়ার সময় AGI-কে তার নিজস্ব ভলকান লেয়ার যুক্ত করতে সক্ষম করে।<application [...] android:debuggable="true">
আপনার অ্যাপ যদি নেটিভভাবে ভলকান ব্যবহার করে, তাহলে এজিআই-এর জন্য নিম্নলিখিত বিষয়গুলোও প্রয়োজন:
আপনার অ্যাপে অবশ্যই ভলকান ভ্যালিডেশন লেয়ার সক্রিয় থাকতে হবে। যদি সেগুলি সক্রিয় না থাকে, তাহলে 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ভলকান ভ্যালিডেশন লেয়ার সক্রিয় থাকা অবস্থায় আপনার অ্যাপটি চলার সময় কোনো সতর্কতা বা ত্রুটি রিপোর্ট করবে না। প্রোফাইলিং করার আগে যেকোনো ভলকান ভ্যালিডেশন ত্রুটি সমাধান করুন।
আপনি যদি বিটা জিপিইউ ড্রাইভার ব্যবহার করেন, তাহলে অ্যান্ড্রয়েড ম্যানিফেস্টের
<application>ট্যাগে নিম্নলিখিত মেটাডেটা অন্তর্ভুক্ত করুন:<meta-data android:name="com.android.graphics.developerdriver.enable" android:value="true" />
অ্যান্ড্রয়েড ডিভাইসের প্রয়োজনীয়তা
AGI-এর জন্য নিম্নলিখিত অ্যান্ড্রয়েড ডিভাইসের প্রয়োজনীয়তা রয়েছে:
অ্যান্ড্রয়েড ১১ বা তার উচ্চতর সংস্করণে চালিত একটি সমর্থিত অ্যান্ড্রয়েড ডিভাইস ।
একটি ইউএসবি কেবল।
adb ডিবাগিং অবশ্যই চালু থাকতে হবে এবং ডিভাইসটি adb-এর মাধ্যমে অ্যাক্সেসযোগ্য হতে হবে। যদি ‘Install via USB’ অপশনটি থাকে, তবে সেটি চালু করুন।
ডিভাইস যাচাইকরণ
AGI-এর জন্য একটি সামঞ্জস্যপূর্ণ GPU ড্রাইভার প্রয়োজন। এটি যাতে সঠিক প্রোফাইলিং ডেটা প্রদান করে, তা নিশ্চিত করার জন্য, আপনি প্রথমবার কোনো নতুন ডিভাইস সংযোগ করার সময় AGI একটি যাচাইকরণ পরীক্ষা চালায়, যাতে প্রায় দশ সেকেন্ড সময় লাগে। এই পরীক্ষায় উত্তীর্ণ হওয়ার পর, আপনি অ্যান্ড্রয়েড অ্যাপ প্রোফাইল করার জন্য ডিভাইসটি ব্যবহার করতে পারবেন।
যাচাইকরণ চলাকালীন ডিভাইসটিতে কোনো রকম ব্যাঘাত ঘটাবেন না। এর ফলে ডিভাইসটি যাচাইকরণে ব্যর্থ হতে পারে। যদি কোনো ডিভাইস যাচাইকরণে ব্যর্থ হয় কিন্তু সেটি সঠিকভাবে সেট আপ করা থাকে, তবে আপনি ডিভাইসটি পুনরায় নির্বাচন করে যাচাইকরণের চেষ্টা করতে পারেন।
একটি ডিভাইসের জন্য ভ্যালিডেশন একটি এককালীন ধাপ, এবং এর ফলাফল AGI-এর ভবিষ্যতে ব্যবহারের জন্য ক্যাশ করে রাখা হয়। তবে, ডিভাইসের সেটআপে কোনো পরিবর্তন হলে, যেমন GPU ড্রাইভার বা অ্যান্ড্রয়েড ভার্সন আপডেট করা হলে, AGI পুনরায় ভ্যালিডেশন চালাবে।
যদি কোনো ডিভাইস সমর্থিত ডিভাইস হিসেবে তালিকাভুক্ত থাকে, তাহলে আপনি আশা করতে পারেন যে AGI ভ্যালিডেশন পাস করবে। যদি ডিভাইসটি তালিকাভুক্ত না থাকে, তাহলে সম্ভবত এর GPU ড্রাইভারটি AGI-এর সাথে সামঞ্জস্যপূর্ণ নয়।
যদি আপনার ডিভাইসটি সমর্থিত হয় কিন্তু যাচাইকরণে ব্যর্থ হয়
নিশ্চিত করুন যে আপনি পূর্ববর্তী বিভাগগুলিতে বর্ণিত সমস্ত অ্যান্ড্রয়েড এবং কম্পিউটারের প্রয়োজনীয়তা পূরণ করেছেন এবং ডিভাইসটি একটি ইউএসবি কেবলের মাধ্যমে কম্পিউটারের সাথে সঠিকভাবে সংযুক্ত আছে।
যদি সমস্ত শর্ত পূরণ করা হয়, তাহলে আচরণটি বর্ণনা করে আমাদের গিটহাব রিপোজিটরিতে একটি ইস্যু ফাইল করুন ।
যদি আপনার ডিভাইসটি সমর্থিত না হয়
আমরা আরও ডিভাইসের জন্য সাপোর্ট যোগ করতে আমাদের OEM পার্টনারদের সাথে কাজ করছি। কোনো ডিভাইসের জন্য সাপোর্টের অনুরোধ জানাতে আপনি আমাদের গিটহাব রিপোজিটরিতে একটি ইস্যু ফাইল করতে পারেন।
প্রোফাইলিং ডেটা ক্যাপচার করুন
পরবর্তী বিভাগগুলিতে প্রোফাইলিং ডেটা কীভাবে সংগ্রহ করতে হয় এবং ফলাফল বিশ্লেষণের জন্য প্রাপ্ত ট্রেস ফাইলটি কীভাবে খুলতে হয়, তা বর্ণনা করা হয়েছে।
অ্যান্ড্রয়েড সেটিংস কনফিগার করুন
প্রোফাইলিং শুরু করার আগে, আপনাকে অবশ্যই এই অ্যান্ড্রয়েড অ্যাপ এবং ডিভাইস সেটিংসগুলো কনফিগার করতে হবে, যা প্রোফাইল করার জন্য অ্যাপ এবং ডিভাইস নির্দিষ্ট করে দেয়।
একটি ইউএসবি ক্যাবল ব্যবহার করে আপনার অ্যান্ড্রয়েড ডিভাইসটি কম্পিউটারের সাথে সংযুক্ত করুন।
আপনার কম্পিউটারে AGI চালু করুন।
আপনি যখন প্রথমবার AGI চালু করবেন, তখন এটি ওয়েলকাম স্ক্রিন দেখাবে, যেখানে আপনার কাছে adb এক্সিকিউটেবলের পাথ জানতে চাওয়া হবে। AGI এই সেটিংসগুলো আপনার
HOMEফোল্ডারের.agicফাইলে সংরক্ষণ করে। আপনি যদি ইতিমধ্যেই এটি করে থাকেন, তাহলে এই ধাপটি এড়িয়ে যেতে পারেন।
চিত্র ১: স্বাগতম স্ক্রিন। 'Path to adb' ফিল্ডে adb এক্সিকিউটেবলের পাথটি লিখুন। এই ফিল্ডের পরের চেকবক্সগুলো ঐচ্ছিক।
লঞ্চ স্ক্রিনটি প্রদর্শন করতে 'Get Started'- এ ক্লিক করুন।

চিত্র ২: অ্যান্ড্রয়েড জিপিইউ ইন্সপেক্টর-এর প্রধান লঞ্চ স্ক্রিন। লঞ্চ স্ক্রিনে, ‘Capture a new trace’-এ ক্লিক করুন। এটি ‘Capture A New Trace’ ডায়ালগ বক্সটি প্রদর্শন করবে। বিকল্পভাবে, আপনি ‘Capture System Profile trace’ বোতামটিতেও ক্লিক করতে পারেন।

চিত্র ৩: নতুন ট্রেস ক্যাপচার করার ডায়ালগ বক্স। ডিভাইস এবং টাইপ বিভাগে, আপনি যে অ্যান্ড্রয়েড ডিভাইসটির প্রোফাইল তৈরি করতে চান সেটি নির্বাচন করুন। যদি এটি ডিভাইস তালিকায় প্রদর্শিত না হয়, তাহলে তালিকাটি রিফ্রেশ করতে রিলোড তীরচিহ্নে ক্লিক করুন।
অ্যাপ্লিকেশন বিভাগে, আপনি যে অ্যাপটির প্রোফাইল তৈরি করতে চান সেটি নির্বাচন করুন। যদি প্যাকেজটিতে কেবল একটি অ্যাক্টিভিটি থাকে, তবে আপনি অ্যাক্টিভিটির পরিবর্তে প্যাকেজটি নির্বাচন করতে পারেন।
AGI-তে একটি নমুনা ভলকান অ্যাপ অন্তর্ভুক্ত রয়েছে। আপনার নিজের অ্যাপের পরিবর্তে নমুনা অ্যাপটি ব্যবহার করতে, এই ধাপগুলো অনুসরণ করুন:
অ্যাপ্লিকেশন ফিল্ডের পাশে থাকা ... বাটনটিতে ক্লিক করুন।
এটি ‘ট্রেস করার জন্য একটি অ্যাপ্লিকেশন নির্বাচন করুন’ ডায়ালগ বক্সটি দেখায়, যেখানে নির্বাচিত ডিভাইসে ট্রেসযোগ্য অ্যাপগুলির একটি তালিকা প্রদর্শিত হয়।
ফিল্টার টেক্সট বক্সে
gapidটাইপ করলে, শুধুমাত্র সেইসব অ্যাপ্লিকেশন প্রদর্শিত হবে যেগুলোর প্যাকেজ নামেgapidরয়েছে।প্যাকেজটি এক্সপ্যান্ড করুন এবং com.google.android.gapid.VkSampleActivity সিলেক্ট করে OK-তে ক্লিক করুন।
এটি আপনাকে 'একটি নতুন ট্রেস ক্যাপচার করুন ' ডায়ালগে ফিরিয়ে নিয়ে যাবে, যেখানে 'অ্যাপ্লিকেশন' ফিল্ডটি আপনার নির্বাচিত অ্যাপ দ্বারা পূরণ করা থাকবে।
অ্যাপ্লিকেশন সেকশনের অন্যান্য ফিল্ডগুলো খালি রাখুন।
OK ক্লিক করুন।
এখন আপনি সিস্টেম ও ফ্রেম প্রোফাইলিং করার জন্য এজিআই ব্যবহার করতে প্রস্তুত।
একটি সিস্টেমের প্রোফাইল
একটি সিস্টেমের প্রোফাইল তৈরি করতে, এই ধাপগুলো অনুসরণ করুন:
AGI লঞ্চ স্ক্রিনে, ক্যাপচার সিস্টেম প্রোফাইল ডায়ালগটি প্রদর্শন করতে ‘ক্যাপচার আ নিউ ট্রেস’-এ ক্লিক করুন।
টাইপ তালিকা থেকে সিস্টেম প্রোফাইল নির্বাচন করুন।
Start and Duration সেকশনে, Start at- কে Manual এবং Duration- কে
2সেট করুন।ট্রেস অপশনস সেকশনে, কনফিগার-এ ক্লিক করুন। এটি প্রোফাইলিং অপশনগুলোর একটি তালিকা প্রদর্শন করবে।

চিত্র ৪: ক্যাপচার সিস্টেম প্রোফাইল ডায়ালগে থাকা প্রোফাইলিং অপশনসমূহ। আপনি যে প্রোফাইলিং ডেটা সংগ্রহ করতে চান তা নির্বাচন করুন।
GPU সেকশনে, সিলেক্ট-এ ক্লিক করুন।
এটি বাছাই করার জন্য কাউন্টারগুলির একটি তালিকা প্রদর্শন করে।

চিত্র ৫: কাউন্টার নির্বাচন করা। ডিফল্ট কাউন্টারগুলির সেট নির্বাচন করতে ডিফল্ট-এ ক্লিক করুন, এবং প্রোফাইলিং বিকল্পগুলিতে ফিরে যেতে ওকে-তে ক্লিক করুন।
মূল ক্যাপচার সিস্টেম প্রোফাইল ডায়ালগে ফিরে যেতে ওকে (OK) ক্লিক করুন।
আউটপুট বিভাগে, প্রোফাইলিংয়ের সময় তৈরি হওয়া ট্রেস ফাইলগুলো সংরক্ষণ করার জন্য একটি আউটপুট ডিরেক্টরি নির্বাচন করুন। ফাইলের নাম ক্ষেত্রটি স্বয়ংক্রিয়ভাবে পূরণ হয়ে যাবে, তবে আপনি এটি সম্পাদনাও করতে পারেন।
OK- তে ক্লিক করুন। এটি অ্যান্ড্রয়েড ডিভাইসে নির্বাচিত অ্যাপটি চালু করে এবং একটি স্টার্ট বাটনসহ একটি পপ-আপ উইন্ডো প্রদর্শন করে।
প্রোফাইলিং ডেটা সংগ্রহ শুরু করতে স্টার্ট বাটনে ক্লিক করুন এবং প্রক্রিয়াটি শেষ হওয়ার জন্য কয়েক সেকেন্ড অপেক্ষা করুন।
ওপেন ট্রেস-এ ক্লিক করুন। প্রদর্শিত প্রাথমিক দৃশ্যটি সিস্ট্রেস- এর অনুরূপ।

চিত্র ৬: সিস্টেম প্রোফাইলার ইউআই। সিস্ট্রেস-এ উপলব্ধ ডেটা ছাড়াও, এজিআই জিপিইউ পারফরম্যান্সের তথ্যও দেখায়। সিস্টেম প্রোফাইলিং ডেটা দেখার বিষয়ে আরও তথ্যের জন্য, “একটি এজিআই সিস্টেম প্রোফাইল দেখুন” দেখুন।
অতিরিক্ত সেটিংস সম্পর্কে তথ্যের জন্য, সিস্টেম প্রোফাইলিং অপশন দেখুন।
একটি ফ্রেমের প্রোফাইল
আপনার অ্যাপ থেকে কোনো একটি নির্দিষ্ট ফ্রেমের প্রোফাইল তৈরি করতে, এই ধাপগুলো অনুসরণ করুন:
AGI লঞ্চ স্ক্রিনে, ‘Capture a new trace’ এ ক্লিক করলে ‘Capture A New Trace’ ডায়ালগটি প্রদর্শিত হবে। বিকল্পভাবে, আপনি ‘Capture Frame Profile’ ট্রেস বোতামটিতেও ক্লিক করতে পারেন।
Type তালিকায়, আপনার অ্যাপ কোন গ্রাফিক্স এপিআই (API) ব্যবহার করে তার উপর নির্ভর করে Vulkan অথবা OpenGL on ANGLE নির্বাচন করুন। নিশ্চিত করুন যে আপনি সঠিকটি বেছে নিচ্ছেন, অন্যথায় AGI কোনো গ্রাফিক্স কমান্ড ক্যাপচার করবে না।
স্টার্ট অ্যান্ড ডিউরেশন সেকশনে, স্টার্ট অ্যাট-কে ম্যানুয়াল- এ সেট করুন। যদি আপনি ক্যাপচার ফ্রেম প্রোফাইল ট্রেস বাটনটি ক্লিক করে থাকেন, তাহলে এই ধাপটি ইতিমধ্যেই সম্পন্ন হয়ে গেছে।
আউটপুট বিভাগে, ট্রেস ফাইলগুলো সংরক্ষণ করার জন্য একটি আউটপুট ডিরেক্টরি নির্বাচন করুন। ফাইলের নাম ক্ষেত্রটি স্বয়ংক্রিয়ভাবে পূরণ হয়ে যাবে, তবে আপনি এটি সম্পাদনাও করতে পারেন।
ঐচ্ছিক: কিছু অ্যাপ একটি ভিন্ন প্রসেস চালু করে যা সমস্ত গ্রাফিক্স প্রসেসিংয়ের কাজ করে। সেই প্রসেসটি ক্যাপচার করতে, এর নামটি উল্লেখ করুন।
OK- তে ক্লিক করুন। এটি আপনার অ্যান্ড্রয়েড ডিভাইসে অ্যাপটি চালু করবে এবং একটি স্টার্ট বাটনসহ একটি পপ-আপ উইন্ডো প্রদর্শন করবে।
স্টার্ট বাটনে ক্লিক করুন এবং প্রোফাইলিং সম্পন্ন হওয়ার জন্য কয়েক সেকেন্ড অপেক্ষা করুন।
প্রোফাইলিং ডেটা দেখতে ওপেন ট্রেস-এ ক্লিক করুন। ফ্রেম প্রোফাইলার UI-এর প্রতিটি প্যান সম্পর্কে তথ্যের জন্য, ফ্রেম প্রোফাইলিং ওভারভিউ দেখুন।
অতিরিক্ত সেটিংস সম্পর্কে জানতে, ফ্রেম প্রোফাইলিং অপশনগুলো দেখুন।