Simpleperf

Android Studio شامل یک صفحه جلویی گرافیکی برای Simpleperf است که در بررسی فعالیت CPU با نمایه CPU مستند شده است. اکثر کاربران ترجیح می دهند به جای استفاده مستقیم از Simpleperf از آن استفاده کنند.

اگر ترجیح می دهید از خط فرمان استفاده کنید، Simpleperf یک ابزار همه کاره پروفایل خط فرمان CPU است که در NDK برای مک، لینوکس و ویندوز گنجانده شده است.

برای مستندات کامل، با Simpleperf README شروع کنید.

نکات و دستور العمل های Simpleperf

اگر به تازگی با Simpleperf شروع کرده‌اید، در اینجا دستوراتی وجود دارد که ممکن است برای شما مفید باشد. برای دستورات و گزینه‌های بیشتر، دستور Simpleperf و مرجع گزینه‌ها را ببینید.

پیدا کنید کدام کتابخانه‌های مشترک طولانی‌ترین زمان برای اجرا دارند

می توانید این دستور را اجرا کنید تا ببینید کدام فایل .so بیشترین درصد زمان اجرا را (بر اساس تعداد چرخه های CPU) اشغال می کند. این اولین دستور خوبی است که باید هنگام شروع جلسه تجزیه و تحلیل عملکرد اجرا شود.

$ simpleperf report --sort dso

پیدا کنید کدام توابع طول می کشد تا اجرا شوند

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

$ simpleperf report --dsos library.so --sort symbol

درصد زمان صرف شده در رشته ها را بیابید

زمان اجرا در یک فایل .so را می توان در چند رشته تقسیم کرد. برای مشاهده درصد زمان صرف شده در هر رشته می توانید این دستور را اجرا کنید.

$ simpleperf report --sort tid,comm

درصد زمان صرف شده در ماژول های شی را بیابید

پس از یافتن رشته‌هایی که بیشتر زمان اجرا در آن صرف می‌شود، می‌توانید از این دستور برای جداسازی ماژول‌های شی که طولانی‌ترین زمان اجرا را روی آن رشته‌ها می‌برند، استفاده کنید.

$ simpleperf report --tids threadID --sort dso

ببینید چگونه فراخوانی های تابع مرتبط هستند

یک نمودار فراخوانی نمایشی بصری از ردیابی پشته ای را ارائه می دهد که Simpleperf در طول جلسه پروفایل ثبت می کند.

می‌توانید از دستور report -g برای چاپ یک نمودار تماس استفاده کنید تا ببینید چه توابعی توسط توابع دیگر فراخوانی می‌شوند. این برای تعیین اینکه آیا یک تابع به خودی خود کند است یا به دلیل کندی یک یا چند تابعی است که فراخوانی می کند مفید است.

$ simpleperf report -g

همچنین می توانید از اسکریپت پایتون report.py -g برای راه اندازی یک ابزار تعاملی که توابع را نمایش می دهد استفاده کنید. می‌توانید روی هر تابع کلیک کنید تا ببینید چقدر زمان در فرزندان آن صرف شده است.

پروفایل کردن برنامه های ساخته شده با Unity

اگر برنامه‌ای را که با یونیتی ساخته شده است را پروفایل می‌کنید، با دنبال کردن مراحل زیر، مطمئن شوید که برنامه را با نمادهای اشکال‌زدایی بسازید:

  1. پروژه اندروید خود را در Unity Editor باز کنید.
  2. در پنجره Build Settings برای پلتفرم اندروید، مطمئن شوید که گزینه Development Build تیک خورده است.
  3. روی Player Settings کلیک کنید و ویژگی Stripping Level را روی Disabled قرار دهید.