„Статистика за ефективността“ е нова функция в показателите за Android, създадена специално за програмисти на игри и други програмисти с приложения, които използват код с директно изпълнение. Тя се предоставя с помощта на Android Performance Tuner – нова приставка, която прави показателите за Android по-полезни за програмистите на игри.
Тази статия съдържа информация за основните понятия, свързани с Android Performance Tuner и статистическите данни за ефективността, и изчисленията, на които се базират:
- Параметри за детайлност и нива на качество
- Анотации
- Целева скорост на кадрите и целево време за изобразяване
- Прагове за бавни и бързи кадри
- Измерено време за изобразяване
- Показатели за бавни и бързи кадри
- Проблеми и възможности
Основни понятия
Параметри за детайлност и нива на качество
Параметрите за детайлност на приложението ви оказват влияние върху ефективността и графичното качество на играта ви, като например нивото на детайлност на мрежата, разделителната способност на текстурите и метода на заглаждане. Те могат да бъдат непрекъснати (напр. от 0 до 100%), двоични (да/не) или други набори от стойности.
Нивото на качество е предварително зададен набор от стойности за параметрите за детайлност. Нивата на качество ви дават възможност да дефинирате комбинации от параметри, които осигуряват приемливо ниво на детайлност при стабилна скорост на кадрите за някои подгрупи от потребителите ви. Не всички възможни комбинации от параметри биха осигурили значима практическа работа на потребителите.
Как се задават параметрите за детайлност и нивата на качествоПараметрите за детайлност и нивата на качество на приложението ви се определят при интегрирането на Android Performance Tuner. В процеса на интегриране можете да дефинирате до 15 нива на качество и неограничен брой параметри за детайлност. Нивата се подреждат възходящо, като 1 е най-ниското ниво на детайлност.
Нивата на качество и параметрите за детайлност могат да бъдат преглеждани в Play Console (Качество > Показатели за Android > Общ преглед > изберете Проверка на нивата на качество), но са само за четене. За да промените параметрите, трябва да публикувате актуализация. За повече информация вижте съответното ръководство за интегриране.
Нивата на качество служат за маркиране на сесии, за да можете да определите дали има модели устройства, които работят при твърде високо или твърде ниско ниво на качество.
Параметрите за детайлност се използват за определяне на това как да се зададе съответстващо ниво на качество за всяко потребителско устройство.
Важно: Ако параметрите ви за детайлност (и нивата на качество) не отразяват точно настройките на приложението ви на устройствата на потребителите, тогава за сесиите ви не може да бъде установено съответствие с някое от предварително дефинираните нива на качество. Нивото на качество за такива сесии се показва като „неизвестно“. Тогава отстраняването на проблеми е трудно, тъй като те може да са свързани с множество различни нива на детайлност. В такъв случай ви препоръчваме да прегледате интеграцията.
За повече информация относно нивата на качество, включително тези, които са определени от потребителя, вижте Отстраняване на проблеми в Android Performance Tuner и често задавани въпроси.
Анотации
Анотациите са „маркери“ на сцени в играта или приложението ви. Те предоставят контекстна информация за случващото се в отделните кадри и са структурирани по следния начин:
- тип на анотацията: стойност на анотацията
- Например: “Герой”: “Главен герой”
Забележка: Може да има няколко анотации за един кадър.
Как се задават анотациитеАнотациите се дефинират при интегрирането. За да ги промените, трябва да публикувате актуализация. За повече информация вижте съответното ръководство за интегриране.
За какво служат анотациите
Анотациите ви помагат да разберете дали конкретни сцени в играта ви причиняват проблеми, или разкриват възможности. За да получавате достатъчно подробна информация за проблемите, трябва да дефинирате достатъчно детайлни анотации.
Целева скорост на кадрите и целево време за изобразяване
Целевата скорост на кадрите служи за сравнителен анализ на времето за изобразяването им на всички модели устройства. За целта тя се преобразува в целево време за изобразяване и се прилага толеранс, с чиято помощ се определя прагът за бавни кадри.
Скоростта на кадрите е показател с мерна единица „кадри в секунда“ (кдр/сек). Времето за изобразяване се измерва в милисекунди (мсек). Двата показателя се свързват с помощта на проста формула:
- времето за изобразяване (мсек) = 1000 / скоростта на кадрите (кдр/сек)
Понастоящем можете да изберете една от следните целеви скорости на кадрите:
Целева скорост на кадрите (кдр/сек) |
Целево време за изобразяване (мсек) |
30 |
33,333 |
60 |
16,667 |
120 |
8,333 |
Ако не знаете коя целева скорост на кадрите да изберете, започнете с 30 кдр/сек. Това е добра начална стойност за много игри. По всяко време можете да промените целевата скорост на кадрите. Обърнете внимание, че това не променя базисните данни, а само статистиката и показателите.
Прагове за бавни и бързи кадри
Праговете за определяне на статистиката и показателите за изобразяването се извличат от целевата скорост на кадрите:
- праг за бавни кадри = целево време за изобразяване + толеранс
- праг за бързи кадри = 25% по-бързо от целевото време за изобразяване (осигурява известен аванс).
Праговете за дадена целева скорост на кадрите са следните:
Целева скорост на кадрите (кдр/сек) |
Целево време за изобразяване (мсек) |
Праг за бавни кадри (мсек) (SFT) |
Праг за бързи кадри (мсек) (FFT) |
30 |
33,333 |
35,37 |
25,0 |
60 |
16,667 |
18,54 |
12,5 |
120 |
8,333 |
10,12 |
6,25 |
С цел предоставяне на стабилна статистика с практическо приложение към времето за изобразяване се прилага толеранс, за да се коригира неточността на измерванията и да се гарантира, че извеждаме само проблеми, които са видими за потребителите, а не отклонения, които те няма да доловят.
За определяне на възможност се използва аванс от 25%, но той трябва да се разглежда като насока за евентуални възможности, а не като гаранция. Препоръчваме винаги да извършвате по-задълбочен анализ и да провеждате тестове, преди да повишите нивото на качество за определени устройства. Дори когато дадено устройство има аванс, той може да не е достатъчен за поддържане на постоянна скорост на кадрите при следващото ниво на качество.
Изчисления на Android Performance Tuner
Запознаването с изчисленията, които са в основата на работата на Android Performance Tuner, ще ви помогне да се възползвате максимално от статистическите данни.
Измерено време за изобразяване
Когато обобщаваме времето за изобразяване на много кадри в приложението ви, отчитаме стойността за 90-ия процентил. Тя представлява максималното време за изобразяване на най-бързите 90% от кадрите.
Прагът от 90% понастоящем е фиксиран и не може да бъде променен.
Предимствата на процентила спрямо средната стойност
За да бъде добра практическата работа на потребителите, скоростта на кадрите трябва да е стабилна и постоянна през цялата сесия. Средната стойност не дава информация за това дали скоростта е постоянна, тъй като бързите и бавните кадри могат да се компенсират взаимно. Използването на 90-ия процентил осигурява показател, който отразява поведението на по-голямата част от кадрите.
Групиране на времената за изобразяванеВремената за изобразяване се събират и отчитат в хистограмни групи, а не като непрекъсната променлива, за да се сведе до минимум количеството данни, изпращани от устройствата на потребителите. Отчетената крайна стойност е горната граница за групата, в която е класифицирано времето за изобразяване.
В резултат на това отчетените времена се групират по конкретни стойности и не са непрекъснати.
Стандартните групи са конфигурирани така, че да се получи достатъчно подробна информация за отстраняване на неизправности при целева скорост на кадрите от 30, 60 и 120 кдр/сек. Освен това те са достатъчно стеснени, за да не се завишават стойностите за бавните кадри.
Показатели за бавни и бързи кадри
Отделните кадри се отчитат като бавни или бързи посредством сравнение с праговете за изобразяване:
- Даден кадър е бавен, ако времето за изобразяването му надхвърля прага за бавни кадри (SFT).
- Даден кадър е бърз, ако времето за изобразяването му е под прага за бързи кадри (FFT).
Показателите за кадрите обикновено се изчисляват само в контекста на конкретни проблеми или възможности. Примери:
- Брой и процент бавни кадри на устройства от модел X при ниво на качество 4
- Брой и процент бързи кадри за анотация Y при всички нива на качество
- Процент бавни и бързи кадри на устройства със спецификация Z.
Забележка: Единственото изключение е показателят за бавни кадри в обобщената информация в секцията „Общ преглед“, който се измерва за всички кадри.
АсиметрияБавните и бързите кадри не се изключват взаимно – праговете и критериите за тях са различни. Това означава, че при анотация или модел устройство с по-ниска ефективност също може да има бързи кадри, а при модел или анотация с по-висока ефективност е възможно да бъдат отчетени и бавни кадри:
Критерии |
Бавни кадри (%) |
Бързи кадри (%) |
|
Проблем |
Време за изобразяване за 90% > SFT |
> 10% по дефиниция |
между 0 и 90% |
Възможност |
Време за изобразяване за 90% < FFT |
между 0 и 10% |
> 90% по дефиниция |
Забележка: Понякога се извеждат показателите както за бавни, така и за бързи кадри, за да се предостави повече контекст за проблема или възможността.
Проблеми и възможности
Проблемите и възможностите ви позволяват да предприемате действия въз основа на времето за изобразяване. Проблем възниква, ако модел устройство или анотация (дефинирана по-горе) редовно не успяват да се вместят в целевото време за изобразяване. Възможност се открива, когато времето за изобразяване за даден модел или анотация редовно е по-кратко от целевото дотолкова, че позволява да се увеличи детайлността.
За да установим наличието на проблеми и възможности, сравняваме времената за изобразяване за 90-ия процентил с праговете за бавни (SFT) и бързи кадри (FFT). Тези прагове се извличат от целевото време за изобразяване:
Типове статистика |
Определение |
Как се изчислява |
Проблем:
|
„поне 10% от кадрите не се изобразяват в рамките на целевото време“ |
Време за изобразяване за 90-ия процентил > SFT |
Възможност:
|
„поне 90% от кадрите се изобразяват значително по-бързо от целевото време“ |
Време за изобразяване за 90-ия процентил < FFT |
Проблемите и възможностите се определят само в контекста на:
- модел устройство х ниво на качество;
- анотация х ниво на качество.
Това ви дава възможност да проучите проблема или възможността. Например:
- Проблем на модел устройство X при ниво на качество 4 => обърнете внимание на модел устройство X
- Възможност за анотация Y при всички нива на качество => обърнете внимание на анотация Y.
Проблемите и възможностите не се изключват взаимно. Проблемите имат по-нисък праг на показване от възможностите и има голяма разлика между това, да няма проблем за даден модел устройство или дадена анотация и да има възможност за тях.
Една анотация може да бъде проблемна при някои нива и да създава възможност при други. Това важи и за моделите устройства, въпреки че рядко даден модел се показва в няколко нива на качество.
Проблемите и възможностите са свързани с целевата скорост на кадрите. Ако тя се промени, те също ще се променят. Базисните данни за времето за изобразяване обаче остават същите.