در Android GPU Inspector (AGI)، میتوانید پروفایل سیستم را در رابط کاربری System Profiler مشاهده و تجزیه و تحلیل کنید. پس از اینکه یک سیستم را پروفایل کردید و فایل ردیابی را در AGI باز کردید ، System Profiler دادههای پروفایل را در یک جدول زمانی با آیتمهای قابل ارتقا که جزئیات بیشتری را نمایش میدهند، نمایش میدهد.
عناصر اصلی رابط کاربری System Profiler شامل موارد زیر است:
نوار ابزار
کادر متن فیلتر آهنگ: آهنگهایی را که در پنجره آهنگ نمایش داده میشوند، فیلتر میکند.
دکمه اطلاعات ( i ): دادههای ردیابی و فراداده دستگاه را نمایش میدهد.
دکمه راهنما ( ? ): میانبرهای صفحه کلید و ماوس را نمایش میدهد.
جدول زمانی : بازه زمانی رویدادهای ردیابی را نشان میدهد.
صفحه Track : دادههای پروفایلینگ را در رابطه با جدول زمانی نمایش میدهد.
پنجره جزئیات : یک پنجره قابل گسترش که جزئیات مربوط به یک مورد انتخاب شده را نمایش میدهد.
دادههای پروفایلینگ
در یک فایل ردیابی، دادههای پروفایلینگ در رویدادهای دارای مهر زمانی به نام رویدادهای ردیابی ذخیره میشوند. رویدادهای ردیابی شامل انواع مختلفی از برشها و شمارندهها هستند. به عنوان مثال، رویدادهای ردیابی CPU شامل برشهای زمانبندی هستند، در حالی که رویدادهای ردیابی GPU شامل شمارندههای عملکرد GPU و برشهای نخ هستند.
در رابط کاربری System Profiler، پنجره track شامل رویدادهای ردیابی است که در ردیفهایی به نام track نمایش داده میشوند و بر اساس جدول زمانی هستند. trackهای از نوع مشابه در گروههای track نمایش داده میشوند.
آهنگهای GPU
شیارهای GPU اطلاعات پروفایل GPU را نمایش میدهند. انواع اصلی شیارهای GPU به شرح زیر هستند:
مسیرهای صف پردازش پردازنده گرافیکی (GPU Queue Tracks) : فعالیت پردازنده گرافیکی (GPU) برنامه.
شیارهای شمارنده GPU : شمارندههای سختافزاری GPU که در فواصل زمانی منظم نمونهبرداری میشوند.
مسیر رویدادهای ولکان : رویدادهای مرتبط با رابط برنامهنویسی ولکان.
مسیرهای SurfaceFlinger : رویدادهای SurfaceFlinger که نحوهی حرکت بافرهای گرافیکی در سیستم را نشان میدهند.
آهنگهای صف GPU
یک پردازنده گرافیکی (GPU) میتواند بر اساس تعداد صفهای سختافزاری که در طول ردیابی اجرا شدهاند، یک یا چند مسیر صف پردازنده گرافیکی (GPU Queue) داشته باشد. مسیرهای صف پردازنده گرافیکی (GPU Queue) شامل برشهای فعالیتی هستند که دوره و نوع کار پردازنده گرافیکی (GPU) مورد استفاده توسط برنامه شما را نشان میدهند.
یک برش فعالیت شامل فرادادههایی است که میتوانید مشاهده کنید، مانند بافر فرمان Vulkan، رندر پاس و بافر فریم که کار را آغاز کردهاند. هندلهای Vulkan به این اشیاء در پنل جزئیات به شرح زیر نمایش داده میشوند:
-
VkCommandBuffer -
VkRenderPass -
VkFrameBuffer
شما میتوانید نامهای کاربرپسندی به این اشیاء بدهید تا بتوانید به راحتی آنها را در یک ردیابی در کنار شناسههایشان شناسایی کنید. این کار با استفاده از تابع vkSetDebugUtilsObjectNameEXT از افزونه VK_EXT_debug_utils یا تابع vkDebugMarkerSetObjectNameEXT از افزونه VK_EXT_debug_marker انجام میشود. هر دو افزونه توسط AGI پیادهسازی شدهاند و هنگام ردیابی در برنامه شما در دسترس هستند.
شمارندههای GPU
نمودارهای شمارنده GPU، مقدار شمارندههای عملکرد GPU را که در یک بازه زمانی دورهای نمونهبرداری شدهاند، نشان میدهند. این نمودارها تغییرات عملکرد GPUهای شما را که اجزای سختافزاری زیربنایی را تشکیل میدهند، بین نمونهها نشان میدهند. میتوانید از این اطلاعات برای شناسایی گلوگاهها در استفاده از GPU خود استفاده کنید.
شمارندههای موجود مختص سختافزار هستند. میتوانید با نگه داشتن ماوس روی نام آهنگ، توضیحات مختصری از هر شمارنده را مشاهده کنید. برای جزئیات بیشتر، به شمارندههای عملکرد GPU مراجعه کنید.
مسیر رویداد ولکان
مسیر رویداد Vulkan، رویدادهای API Vulkan ثبت شده در طول ردیابی را نشان میدهد. انواع رویدادهای مسیر عمدتاً رویدادهای ارسال صف (فراخوانیهای vkQueueSubmit ) هستند. اگر روی یک رویداد ارسال صف کلیک کنید، AGI برشهای فعالیت GPU مرتبط با فراخوانی را برجسته میکند. میتوانید از این دادهها برای بررسی کار ناهمزمان صفبندی شده توسط فراخوانیهای API Vulkan و تأخیر بین CPU و GPU استفاده کنید.
آهنگهای SurfaceFlinger
مسیرهای SurfaceFlinger چرخه حیات بافرهای گرافیکی (اهداف رندر زنجیره مبادله یک برنامه) را همزمان با پیشرفت آنها در سیستم تا زمان نمایش، نمایش میدهند. رویدادها توسط بافر تجمیع میشوند تا ردیابی سربار و تأخیر مورد نیاز برای دریافت و ارسال بافرها آسانتر شود.
تعامل با دادههای پروفایلینگ
این بخش نحوه تعامل با دادههای پروفایلینگ در رابط کاربری System Profiler را شرح میدهد.
پین
شما میتوانید آهنگها و گروههای آهنگ را با استفاده از دکمه پین کردن، پین کنید.
جمع کردن و گسترش دادن
برخی از آهنگها و همه گروههای آهنگ قابل جمع شدن هستند. برخی از گروههای آهنگ هنگام جمع شدن، خلاصهای از میزان استفاده از CPU را در یک نمودار نشان میدهند. برای مثال، هنگام جمع شدن، گروه آهنگ CPU میزان استفاده کلی از CPU را نشان میدهد.
بزرگنمایی
AGI دادههای پروفایلینگ را بر اساس سطح بزرگنمایی جمعآوری میکند. وقتی برای اولین بار یک فایل ردیابی را باز میکنید ، رابط کاربری System Profiler کل پروفایل را در حداکثر سطح بزرگنمایی نمایش میدهد. میتوانید با پیدا کردن نواحی مورد علاقه و سپس مشاهده جزئیات، پروفایل را بررسی کنید.
همانطور که روی انواع مختلف مسیر بزرگنمایی و کوچکنمایی میکنید، انواع مختلفی از دادههای پروفایل را نمایش میدهند. به عنوان مثال، مسیرهای CPU در ابتدا برشهای زمانی هر رشته را نمایش میدهند و سپس در نهایت هنگام بزرگنمایی، به نمایش دادههای استفاده از هسته CPU تغییر میکنند.
مشاهده جزئیات
شما میتوانید با انتخاب موارد در پنل ردیابی، فرادادههای دقیق را در پنل جزئیات نمایش دهید. اگر یک مورد قابل انتخاب باشد، با نگه داشتن ماوس روی آن، مکاننما به یک اشارهگر تبدیل میشود و سپس میتوانید مورد را انتخاب کنید.
انتخاب محدوده زمانی
شما میتوانید یک محدوده زمانی انتخاب کنید که به شما امکان میدهد رویدادهای ردیابی را از مسیرهای مختلف مقایسه کنید. برای انجام این کار، حالت زمانبندی را فعال کنید و سپس برای انتخاب یک محدوده، آن را بکشید. هر چیزی خارج از این محدوده کمنور میشود و مدت زمان آن محدوده نمایش داده میشود.
همچنین میتوانید با فشار دادن M محدوده زمانی یک برش انتخاب شده را انتخاب کنید. سپس میتوانید در مسیرهای اضافی حرکت کنید تا رویدادهای همان دوره زمانی را شناسایی کنید.
میانبرهای ناوبری
شما میتوانید با کلیدهای WASD یا با اسکرول کردن و پن کردن، آیتمها را در پنل مسیر حرکت دهید. System Profiler از همان میانبرهای صفحهکلید و ماوس مانند Systrace استفاده میکند. میانبرهای موجود شامل موارد زیر است:
- برای بزرگنمایی از کلیدهای
WوSیاCtrl++وCtrl+-استفاده کنید. - فلشهای
AوDیاleftوright، نما را به چپ و راست حرکت میدهند. - کلیدهای
QوEیا فلشهایupوdown، آهنگها را پیمایش میکنند. - نگه داشتن
shiftسرعت حرکت ناوبری را افزایش میدهد. -
Ctrl+ scroll روی مورد انتخاب شده زوم میکند. -
Fروی یک آیتم انتخاب شده زوم میکند. -
Z+0صفحه را ریست و کاملاً کوچک میکند. -
Vدر صورت وجود VSync در ردیابی، آن را برجسته میکند. -
Mبا انتخاب محدوده زمانی، انتخاب فعلی را علامتگذاری میکند. -
Hیا?راهنمای میانبرهای صفحهکلید و ماوس را نشان میدهد.
حالت ناوبری
نوار ابزار شامل دکمههایی است که بین حالتهای ناوبری جابجا میشوند و عملی را که هنگام کشیدن موارد در صفحه ردیابی انجام میشود، انتخاب میکنند. همچنین میتوانید با فشار دادن کلیدهای 1 ، 2 ، 3 و 4 حالتهای ناوبری زیر را انتخاب کنید:
- انتخاب : برای انتخاب جعبهای موارد، بکشید.
- حرکت افقی (Pan) : برای حرکت افقی و پیمایش آهنگها، بکشید. این حالت پیشفرض است.
- بزرگنمایی : برای بزرگنمایی موارد، به صورت عمودی بکشید.
- زمانبندی : برای انتخاب یک محدوده زمانی، بکشید.
همچنین میتوانید با این کلیدهای اصلاحکننده از حالتهای ناوبری استفاده کنید:
-
Shift+drag برای انتخاب موارد در کادر. - برای حرکت و پیمایش
Space+بکشید. -
Ctrl+اسکرول برای بزرگنمایی - برای انتخاب یک محدوده زمانی
Ctrl+drag را نگه دارید.