شروع سریع بازرس GPU Android

این مبحث نحوه انجام پروفایل سیستم و نمایه سازی فریم را در برنامه اندروید خود با استفاده از Android GPU Inspector (AGI) شرح می دهد.

این شروع سریع برای توسعه دهندگانی است که با توسعه گرافیک در اندروید آشنا هستند.

الزامات کامپیوتر

رایانه ای که AGI را اجرا می کند باید این شرایط را داشته باشد:

AGI را دانلود و نصب کنید

AGI را برای سیستم عامل خود دانلود و نصب کنید.

الزامات برنامه اندروید

این بخش الزامات برنامه Android را که در حال نمایه سازی است شرح می دهد:

  • برنامه اندروید شما باید قابل اشکال زدایی باشد. ویژگی قابل اشکال زدایی در مانیفست اندروید برنامه باید روی true تنظیم شود. این ویژگی ابزارهای مناسب از درایور گرافیک را فعال می کند. برای برنامه های Vulkan، این ویژگی AGI را قادر می سازد تا لایه Vulkan خود را هنگام شروع برنامه اضافه کند.

    <application [...] android:debuggable="true">
    

اگر برنامه شما به صورت بومی از Vulkan استفاده می کند، AGI به موارد زیر نیز نیاز دارد:

  • برنامه شما باید دارای لایه های اعتبارسنجی Vulkan فعال باشد. اگر فعال نیستند، می‌توانید دستورات زیر را اجرا کنید تا برنامه‌تان را مجبور کنید با لایه‌های اعتبارسنجی موجود در apk AGI ( 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
    
  • برنامه شما نباید هیچ هشدار یا خطایی را هنگام اجرا با فعال بودن لایه های اعتبارسنجی Vulkan گزارش کند. هر گونه خطای اعتبارسنجی Vulkan را قبل از نمایه سازی برطرف کنید.

  • اگر از درایورهای GPU بتا استفاده می کنید، متادیتای زیر را در تگ <application> مانیفست اندروید قرار دهید:

    <meta-data
              android:name="com.android.graphics.developerdriver.enable"
              android:value="true" />
    

الزامات دستگاه اندروید

AGI دارای الزامات دستگاه Android زیر است:

اعتبار سنجی دستگاه

AGI به یک درایور GPU سازگار نیاز دارد. برای اطمینان از ارائه داده‌های پروفایل معتبر، AGI اولین باری که دستگاه جدیدی را متصل می‌کنید، یک بررسی اعتبارسنجی انجام می‌دهد که حدود ده ثانیه طول می‌کشد. پس از گذراندن بررسی، می توانید از دستگاه برای نمایه کردن برنامه های اندروید استفاده کنید.

هنگامی که اعتبارسنجی در حال انجام است، دستگاه را مزاحم نکنید. این ممکن است باعث شود دستگاه اعتبار سنجی ناموفق باشد. اگر دستگاهی در تأیید اعتبار ناموفق بود اما به درستی تنظیم شده است، می‌توانید با انتخاب مجدد دستگاه، تأیید اعتبار را دوباره امتحان کنید.

اعتبار سنجی یک مرحله یک بار مصرف برای یک دستگاه است و نتایج برای استفاده آینده از AGI در حافظه پنهان ذخیره می شوند. با این حال، در صورت تغییر تنظیمات دستگاه، مانند به‌روزرسانی درایور GPU یا نسخه اندروید، AGI دوباره اعتبارسنجی را اجرا می‌کند.

اگر دستگاهی به‌عنوان دستگاه پشتیبانی‌شده فهرست شده است، می‌توانید انتظار داشته باشید AGI اعتبارسنجی را تصویب کند. اگر دستگاه در لیست نباشد، درایور GPU آن به احتمال زیاد با AGI ناسازگار است.

اگر دستگاه شما پشتیبانی می شود اما اعتبار سنجی انجام نمی شود

مطمئن شوید که تمام الزامات Android و الزامات رایانه را که در بخش‌های قبل توضیح داده شد، برآورده کرده‌اید و دستگاه به درستی با کابل USB به رایانه متصل شده است.

اگر همه الزامات برآورده شد، مشکلی را در مخزن GitHub ما ثبت کنید که رفتار را توصیف می کند.

اگر دستگاه شما پشتیبانی نمی شود

ما در حال کار با شرکای OEM خود برای افزودن پشتیبانی برای دستگاه های بیشتر هستیم. می‌توانید برای درخواست پشتیبانی از یک دستگاه، مشکلی را در مخزن GitHub ما ثبت کنید .

گرفتن داده های پروفایل

بخش‌های زیر نحوه جمع‌آوری داده‌های نمایه‌سازی و باز کردن فایل ردیابی حاصل را شرح می‌دهند تا بتوانید نتایج را تجزیه و تحلیل کنید.

تنظیمات اندروید را پیکربندی کنید

قبل از شروع نمایه سازی، باید این تنظیمات برنامه Android و دستگاه را پیکربندی کنید، که برنامه و دستگاه را به نمایه مشخص می کند.

  1. با استفاده از کابل USB، دستگاه Android خود را به رایانه خود وصل کنید.

  2. AGI را روی رایانه خود راه اندازی کنید.

    اولین باری که AGI را راه‌اندازی می‌کنید، صفحه خوش‌آمدگویی را نشان می‌دهد، که از شما می‌خواهد مسیر فایل اجرایی adb را پیدا کنید. AGI این تنظیمات را در فایل .agic در پوشه HOME شما ذخیره می کند. اگر قبلاً این کار را انجام داده اید، می توانید از این مرحله رد شوید.

    صفحه خوش آمدید
    شکل 1: صفحه خوش آمدید .
  3. مسیر adb قابل اجرایی را در قسمت Path to adb وارد کنید. چک باکس های زیر این فیلد اختیاری هستند.

  4. روی Get Started کلیک کنید تا صفحه راه اندازی نمایش داده شود.

    صفحه راه اندازی AGI
    شکل 2: صفحه راه اندازی اصلی بازرس GPU Android.
  5. در صفحه راه اندازی، روی Capture a new trace کلیک کنید. این کادر گفتگوی Capture A New Trace را نمایش می دهد. یا می توانید روی دکمه ردیابی Capture System Profile کلیک کنید.

    ضبط یک گفتگوی جدید ردیابی
    شکل 3: ضبط یک گفتگوی جدید ردیابی .
  6. در قسمت Device and Type ، دستگاه اندرویدی را که می خواهید نمایه کنید انتخاب کنید. اگر در لیست دستگاه نمایش داده نشد، روی پیکان بارگذاری مجدد کلیک کنید تا لیست بازخوانی شود.

  7. در بخش Application ، اپلیکیشنی را که می خواهید نمایه کنید انتخاب کنید. اگر فقط یک اکتیویتی در بسته وجود دارد، می توانید بسته را به جای اکتیویتی انتخاب کنید.

    AGI شامل یک نمونه برنامه Vulkan است. برای استفاده از نمونه برنامه به جای برنامه خودتان، این مراحل را انجام دهید:

    1. روی دکمه ... در کنار فیلد Application کلیک کنید.

      این کادر گفتگوی Select an Application to Trace را نشان می دهد که لیستی از برنامه هایی را که در دستگاه انتخاب شده قابل ردیابی هستند نمایش می دهد.

    2. در کادر متنی Filter ، gapid تایپ کنید تا فقط برنامه هایی که حاوی gapid در نام بسته خود هستند نمایش داده شوند.

    3. بسته را باز کنید و com.google.android.gapid.VkSampleActivity را انتخاب کنید و سپس روی OK کلیک کنید.

      این شما را به گفتگوی Capture A New Trace باز می گرداند، با فیلد Application که توسط برنامه انتخابی شما پر شده است.

  8. در قسمت Application فیلدهای دیگر را خالی بگذارید.

  9. روی OK کلیک کنید.

اکنون شما آماده استفاده از AGI برای انجام پروفایل سیستم و فریم هستید.

نمایه یک سیستم

برای پروفایل یک سیستم، این مراحل را انجام دهید:

  1. در صفحه راه اندازی AGI، روی Capture a new trace کلیک کنید تا کادر گفتگوی Capture System Profile نمایش داده شود.

  2. در لیست نوع ، نمایه سیستم را انتخاب کنید.

  3. در قسمت Start and Duration ، Start at را روی Manual و Duration را روی 2 قرار دهید.

  4. در بخش Trace Options ، روی Configure کلیک کنید. این لیستی از گزینه های پروفایل را نمایش می دهد.

    ضبط گفتگوی پیکربندی
    شکل 4: گزینه های پروفایل در گفتگوی Capture System Profile .
  5. داده های پروفایلی را که می خواهید ضبط کنید انتخاب کنید.

  6. در بخش GPU ، روی انتخاب کلیک کنید.

    این لیستی از شمارنده ها را برای انتخاب نمایش می دهد.

    پیکربندی شمارنده
    شکل 5: انتخاب شمارنده.
  7. برای انتخاب مجموعه شمارنده‌های پیش‌فرض، پیش‌فرض را کلیک کنید و برای بازگرداندن گزینه‌های نمایه، روی OK کلیک کنید.

  8. برای بازگشت به گفتگوی اصلی Capture System Profile روی OK کلیک کنید.

  9. در بخش Output ، یک فهرست خروجی را انتخاب کنید تا فایل های ردیابی که در طول پروفایل ایجاد می شوند ذخیره شوند. فیلد File Name باید به صورت خودکار پر شود، اما می توانید آن را نیز ویرایش کنید.

  10. روی OK کلیک کنید. با این کار برنامه انتخاب شده در دستگاه Android شروع می شود و یک پنجره پاپ آپ با دکمه Start نمایش داده می شود.

  11. روی دکمه Start کلیک کنید تا ضبط داده های پروفایل شروع شود و چند ثانیه صبر کنید تا فرآیند به پایان برسد.

  12. روی Open Trace کلیک کنید. نمای اولیه ای که نمایش داده می شود شبیه systrace است.

    ردیابی پروفایل سیستم
    شکل 6: رابط کاربری نمایه سیستم.

    علاوه بر داده های موجود در systrace، AGI همچنین اطلاعات عملکرد GPU را نشان می دهد. برای اطلاعات بیشتر در مورد مشاهده داده های پروفایل سیستم، مشاهده نمایه سیستم AGI را ببینید.

برای اطلاعات در مورد تنظیمات اضافی، به گزینه های نمایه سازی سیستم مراجعه کنید.

نمایه یک قاب

برای نمایه یک فریم از برنامه خود، این مراحل را انجام دهید:

  1. در صفحه راه اندازی AGI، روی Capture a new trace کلیک کنید تا کادر گفتگوی Capture A New Trace نمایش داده شود. از طرف دیگر، می توانید روی دکمه ردیابی نمایه عکسبرداری قاب کلیک کنید.

  2. در لیست Type ، بسته به اینکه برنامه شما از کدام API گرافیکی استفاده می کند، Vulkan یا OpenGL را در ANGLE انتخاب کنید. مطمئن شوید که درست را انتخاب کرده اید، در غیر این صورت AGI هیچ دستور گرافیکی را نمی گیرد.

  3. در بخش Start and Duration ، Start at را روی Manual قرار دهید. اگر روی دکمه Capture Frame Profile Trace کلیک کرده باشید، این مرحله قبلاً تکمیل شده است.

  4. در بخش Output ، یک فهرست خروجی را برای ذخیره فایل های ردیابی انتخاب کنید. فیلد File Name باید به صورت خودکار پر شود، اما می توانید آن را نیز ویرایش کنید.

  5. اختیاری: برخی از برنامه ها فرآیند متفاوتی را ایجاد می کنند که تمام پردازش های گرافیکی را انجام می دهد. برای ثبت آن فرآیند، نام آن را مشخص کنید.

  6. روی OK کلیک کنید. این برنامه شما را در دستگاه اندرویدی راه اندازی می کند و یک پنجره بازشو با دکمه Start نمایش می دهد.

  7. روی دکمه Start کلیک کنید و چند ثانیه صبر کنید تا پروفایل کامل شود.

  8. برای مشاهده داده های نمایه سازی روی Open Trace کلیک کنید. برای اطلاعات در مورد هر بخش در رابط کاربری Frame Profiler، به نمای کلی نمایه قاب مراجعه کنید.

برای اطلاعات در مورد تنظیمات اضافی، گزینه‌های نمایه قاب را ببینید.