بررسی اجمالی تیونر عملکرد اندروید (یونیتی)، مروری بر عملکرد تیونر اندروید (یونیتی)، بررسی اجمالی تیونر عملکرد اندروید (یونیتی)، بررسی اجمالی تیونر عملکرد اندروید (یونیتی)

این راهنما نحوه استفاده از افزونه Unity را برای ضبط و آپلود داده‌های زمان فریم از Unity 2017.4 یا جدیدتر توضیح می‌دهد.

برای موتورهای بازی با استفاده از C یا C++، به راهنمای موتورهای بازی بومی مراجعه کنید.

پس زمینه

یکی از اجزای کلیدی تجربه بازی، رندر کردن عملکرد است. عملکرد رندر نتیجه دو ورودی زیر است:

  • نرخ فریم: هر چند وقت یکبار یک فریم ترسیم می شود.
  • تنظیمات کیفیت گرافیکی: سطح وفاداری که در آن یک فریم ارائه می شود، از جمله وفاداری شبیه سازی و همچنین گرافیک.

برای بازی ها، عملکرد رندر خوب به صورت زیر تعریف می شود:

  • ارائه نرخ فریم ثابت و ثابت (یعنی درصد رندر فریم ها در فرکانس مورد نظر).
  • رندر کردن فریم ها در بالاترین فرکانس ممکن با حفظ ثبات، معمولاً 30 یا 60 فریم در ثانیه بسته به نوع بازی.
  • به حداکثر رساندن سطح جزئیات برای یک کاربر با توجه به اندازه و تراکم صفحه نمایش آنها در حالی که همچنان به نرخ فریم مطلوب و پایدار دست می یابد.

کتابخانه Android Frame Pacing بسیاری از تغییرات در زمان‌های فریم را محدود می‌کند و نرخ فریم ثابتی را برای بازی‌ها فراهم می‌کند. تغییرات باقی مانده در زمان فریم به دلیل سطح جزئیات نمایش داده شده در صحنه های خاص در گیم پلی و قابلیت های گرافیکی دستگاه است. با استفاده از Android Performance Tuner، می‌توانید زمان‌هایی را که زمان فریم کمتر یا سریع‌تر از هدف شما است، در طول بازی مشخص کنید و این مسائل و فرصت‌ها را به موارد زیر مرتبط کنید:

  • تنظیمات کیفیت خاص
  • صحنه های خاص در بازی شما
  • مدل های خاص دستگاه یا مشخصات دستگاه

داده ها را ضبط و بارگذاری کنید

کتابخانه Tuning Fork به یکی از توابع تیک خود متکی است که هر فریم توسط کتابخانه Android Frame Pacing (یا موتور Unity برای نسخه‌های قدیمی‌تر Unity که کتابخانه Frame Pacing وجود ندارد) نامیده می‌شود. در داخل کتابخانه، این اطلاعات تیک در هیستوگرام‌هایی جمع می‌شود که سپس به صورت دوره‌ای از طریق یک نقطه پایانی HTTP در Google Play آپلود می‌شوند. هر تیک به عنوان مرتبط با یک کلید ابزار و یک حاشیه ثبت می شود. شما با استفاده از افزونه Unity حاشیه نویسی را تعریف می کنید.

کلیدهای ابزار

یک کلید ابزار نشان می دهد که تیک از کجا می آید و یک عدد صحیح است که باید به هر فراخوانی تابع تیک ارسال شود. این کار به صورت خودکار توسط افزونه Unity انجام می شود. اگر گزینه Optimized Frame Pacing در تنظیمات Unity برای بازی شما فعال باشد (موجود در نسخه Unity 2019.3.14 یا جدیدتر)، Android Performance Tuner از اطلاعات کتابخانه Android Frame Pacing برای گزارش معیارهای پیشرفته استفاده می کند.

حاشیه نویسی ها

حاشیه نویسی اطلاعات متنی در مورد آنچه که بازی شما در هنگام ثبت تیک انجام می دهد را ارائه می دهد. به عنوان مثال، یک حاشیه نویسی می تواند هر یک از موارد زیر را مشخص کند:

  • سطح بازی فعلی
  • یک صحنه خاص در حال بارگذاری است
  • یک "رئیس بزرگ" روی صفحه است
  • سایر اطلاعات مربوط به وضعیت بازی

حاشیه نویسی ها در گفتگوی ارائه شده توسط افزونه Unity تعریف می شوند.

در داخل، کتابخانه Tuning Fork از فرمت بافر پروتکل گوگل برای ذخیره حاشیه نویسی و پارامترهای وفاداری استفاده می کند. این یک پروتکل به خوبی تعریف شده و چند زبانه برای داده های ساختار یافته و قابل توسعه است. برای اطلاعات بیشتر، به مستندات Protocol Buffers مراجعه کنید.

پارامترهای وفاداری

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

سربار حافظه و CPU

تمام حافظه مورد استفاده توسط کتابخانه Tuning Fork در زمان اولیه به منظور جلوگیری از غافلگیری در طول بازی اختصاص داده می شود. اندازه داده ها به تعداد کلیدهای ابزار، تعداد حاشیه نویسی های ممکن و تعداد سطل ها در هر هیستوگرام بستگی دارد. مضربی از تمام این بارها چهار بایت برای هر سطل است. همچنین دو نسخه از تمام هیستوگرام ها وجود دارد تا امکان ارسال به صورت دو بافری فراهم شود.

ارسال در یک موضوع جداگانه انجام می شود و تماس های تیک را مسدود نمی کند. اگر اتصال آپلود در دسترس نباشد، ارسال برای آپلود بعدی در صف قرار می گیرد.

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

درخواست های وب

کتابخانه دو نوع درخواست به نقطه پایانی سرور ارسال می کند:

  • یک درخواست generateTuningParameters در زمان اولیه
  • به طور دوره ای در طول بازی، یک درخواست uploadTelemetry برای ارسال داده به سرور

بازیکنان آفلاین

اگر هیچ اتصالی در زمان اولیه وجود نداشته باشد، درخواست چندین بار با افزایش زمان بازگشت مجدد امتحان می شود. اگر در هنگام آپلود اتصالی وجود نداشته باشد، آپلود در حافظه پنهان ذخیره می شود. آپلودها به عنوان فایل در حافظه موقت ذخیره می شوند.

الزامات

برای استفاده از افزونه در بازی خود، از نسخه پشتیبانی شده Unity استفاده کنید:

  • نسخه یونیتی 2017.4 یا بالاتر و دات نت نسخه 4.6
  • برای استفاده از فایل‌های گسترش APK، Unity 2018.2 مورد نیاز است
  • برای بهبود سرعت فریم و اندازه‌گیری‌های GPU، نسخه Unity 2019.3.14 یا جدیدتر مورد نیاز است.
  • برای پشتیبانی از صحنه های Addressables، Unity 2019.3 یا بالاتر و بسته Addressables 1.19.4 یا بالاتر مورد نیاز است.

Android Performance Tuner را در Unity ادغام کنید

برای اطلاعات در مورد ادغام Android Performance Tuner در Unity، به فعال کردن API مراجعه کنید.

،

این راهنما نحوه استفاده از افزونه Unity را برای ضبط و آپلود داده‌های زمان فریم از Unity 2017.4 یا جدیدتر توضیح می‌دهد.

برای موتورهای بازی با استفاده از C یا C++، به راهنمای موتورهای بازی بومی مراجعه کنید.

پس زمینه

یکی از اجزای کلیدی تجربه بازی، رندر کردن عملکرد است. عملکرد رندر نتیجه دو ورودی زیر است:

  • نرخ فریم: هر چند وقت یکبار یک فریم ترسیم می شود.
  • تنظیمات کیفیت گرافیکی: سطح وفاداری که در آن یک فریم ارائه می شود، از جمله وفاداری شبیه سازی و همچنین گرافیک.

برای بازی ها، عملکرد رندر خوب به صورت زیر تعریف می شود:

  • ارائه نرخ فریم ثابت و ثابت (یعنی درصد رندر فریم ها در فرکانس مورد نظر).
  • رندر کردن فریم ها در بالاترین فرکانس ممکن با حفظ ثبات، معمولاً 30 یا 60 فریم در ثانیه بسته به نوع بازی.
  • به حداکثر رساندن سطح جزئیات برای یک کاربر با توجه به اندازه و تراکم صفحه نمایش آنها در حالی که همچنان به نرخ فریم مطلوب و پایدار دست می یابد.

کتابخانه Android Frame Pacing بسیاری از تغییرات در زمان‌های فریم را محدود می‌کند و نرخ فریم ثابتی را برای بازی‌ها فراهم می‌کند. تغییرات باقی مانده در زمان فریم به دلیل سطح جزئیات نمایش داده شده در صحنه های خاص در گیم پلی و قابلیت های گرافیکی دستگاه است. با استفاده از Android Performance Tuner، می‌توانید زمان‌هایی را که زمان فریم کمتر یا سریع‌تر از هدف شما است، در طول بازی مشخص کنید و این مسائل و فرصت‌ها را به موارد زیر مرتبط کنید:

  • تنظیمات کیفیت خاص
  • صحنه های خاص در بازی شما
  • مدل های خاص دستگاه یا مشخصات دستگاه

داده ها را ضبط و بارگذاری کنید

کتابخانه Tuning Fork به یکی از توابع تیک خود متکی است که هر فریم توسط کتابخانه Android Frame Pacing (یا موتور Unity برای نسخه‌های قدیمی‌تر Unity که کتابخانه Frame Pacing وجود ندارد) نامیده می‌شود. در داخل کتابخانه، این اطلاعات تیک در هیستوگرام‌هایی جمع می‌شود که سپس به صورت دوره‌ای از طریق یک نقطه پایانی HTTP در Google Play آپلود می‌شوند. هر تیک به عنوان مرتبط با یک کلید ابزار و یک حاشیه ثبت می شود. شما با استفاده از افزونه Unity حاشیه نویسی را تعریف می کنید.

کلیدهای ابزار

یک کلید ابزار نشان می دهد که تیک از کجا می آید و یک عدد صحیح است که باید به هر فراخوانی تابع تیک ارسال شود. این کار به صورت خودکار توسط افزونه Unity انجام می شود. اگر گزینه Optimized Frame Pacing در تنظیمات Unity برای بازی شما فعال باشد (موجود در نسخه Unity 2019.3.14 یا جدیدتر)، Android Performance Tuner از اطلاعات کتابخانه Android Frame Pacing برای گزارش معیارهای پیشرفته استفاده می کند.

حاشیه نویسی ها

حاشیه نویسی اطلاعات متنی در مورد آنچه که بازی شما در هنگام ثبت تیک انجام می دهد را ارائه می دهد. به عنوان مثال، یک حاشیه نویسی می تواند هر یک از موارد زیر را مشخص کند:

  • سطح بازی فعلی
  • یک صحنه خاص در حال بارگذاری است
  • یک "رئیس بزرگ" روی صفحه است
  • سایر اطلاعات مربوط به وضعیت بازی

حاشیه نویسی ها در گفتگوی ارائه شده توسط افزونه Unity تعریف می شوند.

در داخل، کتابخانه Tuning Fork از فرمت بافر پروتکل گوگل برای ذخیره حاشیه نویسی و پارامترهای وفاداری استفاده می کند. این یک پروتکل به خوبی تعریف شده و چند زبانه برای داده های ساختار یافته و قابل توسعه است. برای اطلاعات بیشتر، به مستندات Protocol Buffers مراجعه کنید.

پارامترهای وفاداری

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

سربار حافظه و CPU

تمام حافظه مورد استفاده توسط کتابخانه Tuning Fork در زمان اولیه به منظور جلوگیری از غافلگیری در طول بازی اختصاص داده می شود. اندازه داده ها به تعداد کلیدهای ابزار، تعداد حاشیه نویسی های ممکن و تعداد سطل ها در هر هیستوگرام بستگی دارد. مضربی از تمام این بارها چهار بایت برای هر سطل است. همچنین دو نسخه از تمام هیستوگرام ها وجود دارد تا امکان ارسال به صورت دو بافری فراهم شود.

ارسال در یک موضوع جداگانه انجام می شود و تماس های تیک را مسدود نمی کند. اگر اتصال آپلود در دسترس نباشد، ارسال برای آپلود بعدی در صف قرار می گیرد.

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

درخواست های وب

کتابخانه دو نوع درخواست به نقطه پایانی سرور ارسال می کند:

  • یک درخواست generateTuningParameters در زمان اولیه
  • به طور دوره ای در طول بازی، یک درخواست uploadTelemetry برای ارسال داده به سرور

بازیکنان آفلاین

اگر هیچ اتصالی در زمان اولیه وجود نداشته باشد، درخواست چندین بار با افزایش زمان بازگشت مجدد امتحان می شود. اگر در زمان آپلود اتصال وجود نداشته باشد، آپلود در حافظه پنهان ذخیره می شود. آپلودها به عنوان فایل در حافظه موقت ذخیره می شوند.

الزامات

برای استفاده از افزونه در بازی خود، از نسخه پشتیبانی شده Unity استفاده کنید:

  • نسخه یونیتی 2017.4 یا بالاتر و دات نت نسخه 4.6
  • برای استفاده از فایل‌های گسترش APK، Unity 2018.2 مورد نیاز است
  • برای بهبود سرعت فریم و اندازه‌گیری‌های GPU، نسخه Unity 2019.3.14 یا جدیدتر مورد نیاز است.
  • برای پشتیبانی از صحنه های Addressables، Unity 2019.3 یا بالاتر و بسته Addressables 1.19.4 یا بالاتر مورد نیاز است.

Android Performance Tuner را در Unity ادغام کنید

برای اطلاعات در مورد ادغام Android Performance Tuner در Unity، به فعال کردن API مراجعه کنید.

،

این راهنما نحوه استفاده از افزونه Unity را برای ضبط و آپلود داده‌های زمان فریم از Unity 2017.4 یا جدیدتر توضیح می‌دهد.

برای موتورهای بازی با استفاده از C یا C++، به راهنمای موتورهای بازی بومی مراجعه کنید.

پس زمینه

یکی از اجزای کلیدی تجربه بازی، رندر کردن عملکرد است. عملکرد رندر نتیجه دو ورودی زیر است:

  • نرخ فریم: هر چند وقت یکبار یک فریم ترسیم می شود.
  • تنظیمات کیفیت گرافیکی: سطح وفاداری که در آن یک فریم ارائه می شود، از جمله وفاداری شبیه سازی و همچنین گرافیک.

برای بازی ها، عملکرد رندر خوب به صورت زیر تعریف می شود:

  • ارائه نرخ فریم ثابت و ثابت (یعنی درصد رندر فریم ها در فرکانس مورد نظر).
  • رندر کردن فریم ها در بالاترین فرکانس ممکن با حفظ ثبات، معمولاً 30 یا 60 فریم در ثانیه بسته به نوع بازی.
  • به حداکثر رساندن سطح جزئیات برای یک کاربر با توجه به اندازه و تراکم صفحه نمایش آنها در حالی که همچنان به نرخ فریم مطلوب و پایدار دست می یابد.

کتابخانه Android Frame Pacing بسیاری از تغییرات در زمان‌های فریم را محدود می‌کند و نرخ فریم ثابتی را برای بازی‌ها فراهم می‌کند. تغییرات باقی مانده در زمان فریم به دلیل سطح جزئیات نمایش داده شده در صحنه های خاص در گیم پلی و قابلیت های گرافیکی دستگاه است. با استفاده از Android Performance Tuner، می‌توانید زمان‌هایی را که زمان فریم کمتر یا سریع‌تر از هدف شما است، در طول بازی مشخص کنید و این مسائل و فرصت‌ها را به موارد زیر مرتبط کنید:

  • تنظیمات کیفیت خاص
  • صحنه های خاص در بازی شما
  • مدل های خاص دستگاه یا مشخصات دستگاه

داده ها را ضبط و بارگذاری کنید

کتابخانه Tuning Fork به یکی از توابع تیک خود متکی است که هر فریم توسط کتابخانه Android Frame Pacing (یا موتور Unity برای نسخه‌های قدیمی‌تر Unity که کتابخانه Frame Pacing وجود ندارد) نامیده می‌شود. در داخل کتابخانه، این اطلاعات تیک در هیستوگرام‌هایی جمع می‌شود که سپس به صورت دوره‌ای از طریق یک نقطه پایانی HTTP در Google Play آپلود می‌شوند. هر تیک به عنوان مرتبط با یک کلید ابزار و یک حاشیه ثبت می شود. شما با استفاده از افزونه Unity حاشیه نویسی را تعریف می کنید.

کلیدهای ابزار

یک کلید ابزار نشان می دهد که تیک از کجا می آید و یک عدد صحیح است که باید به هر فراخوانی تابع تیک ارسال شود. این کار به صورت خودکار توسط افزونه Unity انجام می شود. اگر گزینه Optimized Frame Pacing در تنظیمات Unity برای بازی شما فعال باشد (موجود در نسخه Unity 2019.3.14 یا جدیدتر)، Android Performance Tuner از اطلاعات کتابخانه Android Frame Pacing برای گزارش معیارهای پیشرفته استفاده می کند.

حاشیه نویسی ها

حاشیه نویسی اطلاعات متنی در مورد آنچه که بازی شما در هنگام ثبت تیک انجام می دهد را ارائه می دهد. به عنوان مثال، یک حاشیه نویسی می تواند هر یک از موارد زیر را مشخص کند:

  • سطح بازی فعلی
  • صحنه خاصی در حال بارگذاری است
  • یک "رئیس بزرگ" روی صفحه است
  • سایر اطلاعات مربوط به وضعیت بازی

حاشیه نویسی ها در گفتگوی ارائه شده توسط افزونه Unity تعریف می شوند.

در داخل، کتابخانه Tuning Fork از فرمت بافر پروتکل گوگل برای ذخیره حاشیه نویسی و پارامترهای وفاداری استفاده می کند. این یک پروتکل به خوبی تعریف شده و چند زبانه برای داده های ساختار یافته و قابل توسعه است. برای اطلاعات بیشتر، به مستندات Protocol Buffers مراجعه کنید.

پارامترهای وفاداری

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

سربار حافظه و CPU

تمام حافظه مورد استفاده توسط کتابخانه Tuning Fork در زمان اولیه به منظور جلوگیری از غافلگیری در طول بازی اختصاص داده می شود. اندازه داده ها به تعداد کلیدهای ابزار، تعداد حاشیه نویسی های ممکن و تعداد سطل ها در هر هیستوگرام بستگی دارد. مضربی از تمام این بارها چهار بایت برای هر سطل است. همچنین دو نسخه از تمام هیستوگرام ها وجود دارد تا امکان ارسال به صورت دو بافری فراهم شود.

ارسال در یک موضوع جداگانه انجام می شود و تماس های تیک را مسدود نمی کند. اگر اتصال آپلود در دسترس نباشد، ارسال برای آپلود بعدی در صف قرار می گیرد.

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

درخواست های وب

کتابخانه دو نوع درخواست به نقطه پایانی سرور ارسال می کند:

  • یک درخواست generateTuningParameters در زمان اولیه
  • به طور دوره ای در طول بازی، یک درخواست uploadTelemetry برای ارسال داده به سرور

بازیکنان آفلاین

اگر هیچ اتصالی در زمان اولیه وجود نداشته باشد، درخواست چندین بار با افزایش زمان بازگشت مجدد امتحان می شود. اگر در زمان آپلود اتصال وجود نداشته باشد، آپلود در حافظه پنهان ذخیره می شود. آپلودها به عنوان فایل در حافظه موقت ذخیره می شوند.

الزامات

برای استفاده از افزونه در بازی خود، از نسخه پشتیبانی شده Unity استفاده کنید:

  • نسخه یونیتی 2017.4 یا بالاتر و دات نت نسخه 4.6
  • برای استفاده از فایل‌های گسترش APK، Unity 2018.2 مورد نیاز است
  • برای بهبود سرعت فریم و اندازه‌گیری‌های GPU، نسخه Unity 2019.3.14 یا جدیدتر مورد نیاز است.
  • برای پشتیبانی از صحنه های Addressables، Unity 2019.3 یا بالاتر و بسته Addressables 1.19.4 یا بالاتر مورد نیاز است.

Android Performance Tuner را در Unity ادغام کنید

برای اطلاعات در مورد ادغام Android Performance Tuner در Unity، به فعال کردن API مراجعه کنید.

،

این راهنما نحوه استفاده از افزونه Unity را برای ضبط و آپلود داده‌های زمان فریم از Unity 2017.4 یا جدیدتر توضیح می‌دهد.

برای موتورهای بازی با استفاده از C یا C++، به راهنمای موتورهای بازی بومی مراجعه کنید.

پس زمینه

یکی از اجزای کلیدی تجربه بازی، رندر کردن عملکرد است. عملکرد رندر نتیجه دو ورودی زیر است:

  • نرخ فریم: هر چند وقت یکبار یک فریم ترسیم می شود.
  • تنظیمات کیفیت گرافیکی: سطح وفاداری که در آن یک فریم ارائه می شود، از جمله وفاداری شبیه سازی و همچنین گرافیک.

برای بازی ها، عملکرد رندر خوب به صورت زیر تعریف می شود:

  • ارائه نرخ فریم ثابت و ثابت (یعنی درصد رندر فریم ها در فرکانس مورد نظر).
  • رندر کردن فریم ها در بالاترین فرکانس ممکن با حفظ ثبات، معمولاً 30 یا 60 فریم در ثانیه بسته به نوع بازی.
  • به حداکثر رساندن سطح جزئیات برای یک کاربر با توجه به اندازه و تراکم صفحه نمایش آنها در حالی که همچنان به نرخ فریم مطلوب و پایدار دست می یابد.

کتابخانه Android Frame Pacing بسیاری از تغییرات در زمان‌های فریم را محدود می‌کند و نرخ فریم ثابتی را برای بازی‌ها فراهم می‌کند. تغییرات باقی مانده در زمان فریم به دلیل سطح جزئیات نمایش داده شده در صحنه های خاص در گیم پلی و قابلیت های گرافیکی دستگاه است. با استفاده از Android Performance Tuner، می‌توانید زمان‌هایی را که زمان فریم کمتر یا سریع‌تر از هدف شما است، در طول بازی مشخص کنید و این مسائل و فرصت‌ها را به موارد زیر مرتبط کنید:

  • تنظیمات کیفیت خاص
  • صحنه های خاص در بازی شما
  • مدل های خاص دستگاه یا مشخصات دستگاه

داده ها را ضبط و بارگذاری کنید

کتابخانه Tuning Fork به یکی از توابع تیک خود متکی است که هر فریم توسط کتابخانه Android Frame Pacing (یا موتور Unity برای نسخه‌های قدیمی‌تر Unity که کتابخانه Frame Pacing وجود ندارد) نامیده می‌شود. در داخل کتابخانه، این اطلاعات تیک در هیستوگرام‌هایی جمع می‌شود که سپس به صورت دوره‌ای از طریق یک نقطه پایانی HTTP در Google Play آپلود می‌شوند. هر تیک به عنوان مرتبط با یک کلید ابزار و یک حاشیه ثبت می شود. شما با استفاده از افزونه Unity حاشیه نویسی را تعریف می کنید.

کلیدهای ابزار

یک کلید ابزار نشان می دهد که تیک از کجا می آید و یک عدد صحیح است که باید به هر فراخوانی تابع تیک ارسال شود. این کار به صورت خودکار توسط افزونه Unity انجام می شود. اگر گزینه Optimized Frame Pacing در تنظیمات Unity برای بازی شما فعال باشد (موجود در نسخه Unity 2019.3.14 یا جدیدتر)، Android Performance Tuner از اطلاعات کتابخانه Android Frame Pacing برای گزارش معیارهای پیشرفته استفاده می کند.

حاشیه نویسی ها

حاشیه نویسی اطلاعات متنی در مورد آنچه که بازی شما در هنگام ثبت تیک انجام می دهد را ارائه می دهد. به عنوان مثال، یک حاشیه نویسی می تواند هر یک از موارد زیر را مشخص کند:

  • سطح بازی فعلی
  • یک صحنه خاص در حال بارگذاری است
  • یک "رئیس بزرگ" روی صفحه است
  • سایر اطلاعات مربوط به وضعیت بازی

حاشیه نویسی ها در گفتگوی ارائه شده توسط افزونه Unity تعریف می شوند.

در داخل، کتابخانه Tuning Fork از فرمت بافر پروتکل گوگل برای ذخیره حاشیه نویسی و پارامترهای وفاداری استفاده می کند. این یک پروتکل به خوبی تعریف شده و چند زبانه برای داده های ساختار یافته و قابل توسعه است. برای اطلاعات بیشتر، به مستندات Protocol Buffers مراجعه کنید.

پارامترهای وفاداری

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

سربار حافظه و CPU

تمام حافظه مورد استفاده توسط کتابخانه Tuning Fork در زمان اولیه به منظور جلوگیری از غافلگیری در طول بازی اختصاص داده می شود. اندازه داده ها به تعداد کلیدهای ابزار، تعداد حاشیه نویسی های ممکن و تعداد سطل ها در هر هیستوگرام بستگی دارد. مضربی از تمام این بارها چهار بایت برای هر سطل است. همچنین دو نسخه از تمام هیستوگرام ها وجود دارد تا امکان ارسال به صورت دو بافری فراهم شود.

ارسال در یک موضوع جداگانه انجام می شود و تماس های تیک را مسدود نمی کند. اگر اتصال آپلود در دسترس نباشد، ارسال برای آپلود بعدی در صف قرار می گیرد.

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

درخواست های وب

کتابخانه دو نوع درخواست به نقطه پایانی سرور ارسال می کند:

  • یک درخواست generateTuningParameters در زمان اولیه
  • به طور دوره ای در طول بازی، یک درخواست uploadTelemetry برای ارسال داده به سرور

بازیکنان آفلاین

اگر هیچ اتصالی در زمان اولیه وجود نداشته باشد، درخواست چندین بار با افزایش زمان بازگشت مجدد امتحان می شود. اگر در هنگام آپلود اتصالی وجود نداشته باشد، آپلود در حافظه پنهان ذخیره می شود. آپلودها به عنوان فایل در حافظه موقت ذخیره می شوند.

الزامات

برای استفاده از افزونه در بازی خود، از نسخه پشتیبانی شده Unity استفاده کنید:

  • نسخه یونیتی 2017.4 یا بالاتر و دات نت نسخه 4.6
  • برای استفاده از فایل‌های گسترش APK، Unity 2018.2 مورد نیاز است
  • برای بهبود سرعت فریم و اندازه‌گیری‌های GPU، نسخه Unity 2019.3.14 یا جدیدتر مورد نیاز است.
  • برای پشتیبانی از صحنه های Addressables، Unity 2019.3 یا بالاتر و بسته Addressables 1.19.4 یا بالاتر مورد نیاز است.

Android Performance Tuner را در Unity ادغام کنید

برای اطلاعات در مورد ادغام Android Performance Tuner در Unity، به فعال کردن API مراجعه کنید.