Więcej informacji o wtyczce Android Performance Tuner

 

Statystyki dotyczące wydajności to nowa funkcja Android Vitals, opracowana specjalnie dla deweloperów gier i innych deweloperów, których aplikacje wykorzystują kod natywny. Statystyki wydajności są dostarczane za pomocą nowej wtyczki Android Performance Tuner, która pozwala deweloperom gier w pełni wykorzystać możliwości funkcji Android Vitals.

W tym artykule znajdziesz informacje na temat podstawowych zagadnień związanych z wtyczką Android Performance Tuner oraz używanych przez nią mechanizmów wyliczeń:

Podstawowe pojęcia

Parametry wierności i poziomy jakości

Parametry wierności aplikacji wpływają na wydajność i jakość grafiki gry, na przykład na poziom szczegółowości siatki, rozdzielczość tekstur i metodę antyaliasingu. Mogą to być zestawy wartości ciągłych (np. 0–100%), binarnych (tak/nie) lub innego typu.

Poziom jakości to wstępnie zdefiniowany zestaw wartości parametrów wierności. Poziomy jakości pozwalają zdefiniować kombinacje parametrów zapewniające danej grupie użytkowników akceptowalny poziom wierności przy stałej liczbie klatek. Nie wszystkie możliwe kombinacje parametrów pozwalają zapewnić użytkownikom wrażenia na odpowiednim poziomie.

Ustawianie parametrów wierności i poziomów jakości

Parametry wierności i poziomy jakości aplikacji są definiowane podczas integracji z wtyczką Android Performance Tuner. W ramach integracji możesz zdefiniować maksymalnie 15 poziomów jakości i nieograniczoną liczbę parametrów wierności. Poziomy są uporządkowane rosnąco – 1 oznacza najniższy poziom wierności.

Poziomy jakości i parametry wierności możesz sprawdzić w Konsoli Play (Jakość > Android Vitals > Przegląd > Sprawdź poziomy jakości) – ale mają one status tylko do odczytu. Aby zmienić parametry, musisz opublikować aktualizację. Więcej informacji znajdziesz w odpowiednim przewodniku po integracji.

Używanie parametrów wierności i poziomów jakości

Poziomy jakości służą do tagowania sesji, dzięki któremu możesz sprawdzić, czy poszczególne modele urządzeń działają na zbyt wysokim lub zbyt niskim poziomie jakości.

Parametry wierności służą do określania sposobu przyporządkowania każdego urządzenia użytkownika do poziomu jakości.

Ważne: jeśli parametry wierności (i poziomy jakości) nie odzwierciedlają dokładnie ustawień aplikacji na urządzeniach użytkowników, nie można przypisać sesji do jednego z wcześniej zdefiniowanych poziomów jakości. Takie sesje są wyświetlane z etykietą „nieznanego” poziomu jakości. Problemy dotyczące „nieznanych” poziomów jakości są trudne do rozwiązania, ponieważ mogą obejmować wiele różnych poziomów wierności. W takim przypadku zalecamy sprawdzenie integracji.

Więcej informacji o poziomach jakości, również tych określanych przez użytkowników, znajdziesz w artykule Rozwiązywanie problemów z narzędziem Android Performance Tuner i najczęstsze pytania na jego temat.

Adnotacje

Adnotacje to „tagi” w scenach w grze lub aplikacji, które zawierają kontekstowe informacje o tym, co gra robi w danej klatce. Struktura adnotacji wygląda w ten sposób:

  • Typ adnotacji: wartość adnotacji
    • Na przykład: „Postać”: „Główny bohater”

Uwaga: klatka może zawierać wiele adnotacji.

Sposób ustawiania adnotacji

Adnotacje są definiowane podczas integracji. Aby zmienić adnotacje, musisz opublikować aktualizację. Więcej informacji znajdziesz w odpowiedniej sekcji przewodnika po integracji.

Używanie parametrów wierności i poziomów jakości

Używanie adnotacji

Adnotacje pomagają ustalić, czy konkretne sceny w grze powodują problemy lub stwarzają możliwości. Aby uzyskać odpowiedni poziom szczegółowości problemów, musisz zdefiniować wystarczająco szczegółowe adnotacje.

Docelowa liczba klatek i docelowy czas renderowania klatki

Docelowa liczba klatek jest używana w testach porównawczych badających czas renderowania klatki na różnych modelach urządzeń. Na potrzeby tych testów wartość jest konwertowana na docelowy czas renderowania klatki. Stosowany jest też zakres tolerancji, na podstawie którego określamy próg wolnego renderowania.

Liczba klatek to parametr z jednostką „liczba klatek na sekundę” (kl./s). Czas renderowania klatki jest mierzony w milisekundach (ms). Te 2 elementy łączy prosta zależność:

  • Czas renderowania klatki (ms) = 1000/liczba klatek (kl./s)

Obecnie możesz wybrać jedną z tych docelowych wartości:

Docelowa liczba klatek (kl./s)

Docelowy czas renderowania klatki (ms)

30

33,333

60

16,667

120

8,333

 

Jeśli nie masz pewności, którą docelową liczbę klatek wybrać, zacznij od 30 kl./s. To dobra podstawowa liczba klatek w przypadku wielu gier. Docelową liczbę klatek możesz zmienić w każdej chwili. Pamiętaj, że nie ma to wpływu na Twoje podstawowe dane, a jedynie na statystyki i parametry.

Progi wolnego i szybkiego renderowania klatki

Progi określające statystyki i parametry klatek są obliczane na podstawie docelowej liczby klatek:

  • Próg wolnego renderowania klatki = docelowy czas renderowania klatki + tolerancja
  • Próg szybkiego renderowania klatki = o 25% szybciej niż docelowy czas renderowania klatki (zapewnia pewien margines)

Oto progi obowiązujące w przypadku różnej docelowej liczby klatek:

Docelowa liczba klatek (kl./s)

Docelowy czas renderowania klatki (ms)

Próg wolnego renderowania klatki (ms)

Próg szybkiego renderowania klatki (ms)

30

33,333

35,37

25,0

60

16,667

18,54

12,5

120

8,333

10,12

6,25

Zalety stosowania tolerancji do progu wolnego renderowania klatki

Aby uzyskać stabilne i przydatne statystyki, do czasu renderowania klatki stosujemy tolerancję, która pozwala skorygować niedokładności pomiarów. Dzięki temu pokazywane są tylko problemy widoczne dla użytkowników, a nie niezauważalne dla nich odchylenia.

Możliwości i próg szybkiego renderowania klatki

Aby można było wykryć ewentualne możliwości, stosujemy margines wynoszący 25%. Należy go jednak traktować jako wskazówkę, a nie gwarancję istnienia możliwości. Przed przeniesieniem urządzeń na wyższy poziom jakości zawsze zalecamy dokładniejsze przeanalizowanie danych i przeprowadzenie testów – nawet jeśli urządzenie ma pewien margines, może on być niewystarczający do utrzymania stałej liczby klatek na kolejnym poziomie jakości.

Mechanizm obliczeń wtyczki Android Performance Tuner

Zrozumienie mechanizmów obliczeń, na których opiera się wtyczka Android Performance Tuner, pomoże Ci w pełni wykorzystać dostępne statystyki.

Mierzony czas renderowania klatki

Przy zbieraniu danych dotyczących czasu renderowania wielu klatek w Twojej aplikacji bierzemy pod uwagę czas renderowania na 90. percentylu. Jest to maksymalny czas renderowania najszybszych 90% klatek.

Próg 90% jest obecnie stałym parametrem i nie można go zmienić.

Zalety percentyli w porównaniu z wartościami średnimi

Dobre wrażenia użytkownika wymagają stałej liczby klatek podczas całej sesji. Wartość średnia nie zapewnia statystyk dotyczących spójności, ponieważ szybko i wolno renderowane klatki mogą się równoważyć. Wykonanie pomiaru na 90. percentylu pozwala uzyskać dane, które odzwierciedlają zachowanie większości klatek.

Zbiorcze dane o czasie renderowania klatki

Dane o czasie renderowania klatki są zbierane i raportowane w segmentach histogramu, a nie jako ciągła zmienna, by zminimalizować ilość danych wysyłanych z urządzeń użytkowników. Zarejestrowany czas renderowania klatki to górna granica segmentu, w którym ten czas został sklasyfikowany.

W efekcie raportowane czasy renderowania klatki są grupowane według określonych wartości, a nie ciągłe.

Domyślne segmenty są tak skonfigurowane, by zapewniać odpowiednią szczegółowość na potrzeby rozwiązywania problemów dotyczących docelowej wartości 30, 60 lub 120 kl./s. Są też na tyle wąskie, by nigdy nie doszło do zawyżenia czasu renderowania spowolnionych klatek.

Dane o szybkim i wolnym renderowaniu klatki

Poszczególne klatki są zaliczane jako spowolnione lub szybkie na podstawie porównania z wartościami progowymi:

  • Pojedyncza klatka jest spowolniona, jeśli czas jej renderowania jest dłuższy niż na progu wolnego renderowania klatki.
  • Pojedyncza klatka jest szybka, jeśli czas jej renderowania jest krótszy niż na progu szybkiego renderowania klatki.

Dane dotyczące klatek są zwykle obliczane tylko w kontekście konkretnego problemu lub możliwości. Przykłady:

  • liczba i procent wolno renderowanych klatek na modelu urządzenia X na poziomie jakości 4,
  • liczba i procent szybkich klatek w adnotacji Y na wszystkich poziomach jakości,
  • procent spowolnionych i szybkich klatek na urządzeniu o specyfikacji Z.

Uwaga: jedynym wyjątkiem są tu dane o spowolnionych klatkach widoczne w podsumowaniu, mierzone dla wszystkich klatek.

Asymetria

Spowolnione i szybkie klatki nie stanowią swoich odwrotności: mają różne progi i różne kryteria. Oznacza to, że model urządzenia lub adnotacja o niskiej wydajności może również renderować klatki szybko, a model urządzenia lub adnotacja o wysokiej wydajności może również renderować klatki powoli:

 
 

Kryteria

Spowolnione klatki (%)

Szybko wyrenderowane (%)

Problem

90% czasu renderowania klatki > spowolniona klatka

> 10% według definicji

Dowolna wartość od 0% do 90%

Możliwość

90% czasu renderowania < szybka klatka

Dowolna wartość od 0% do 10%

> 90% według definicji

 

Uwaga: czasami dostępne są dane zarówno o spowolnionych, jak i szybkich klatkach – ma to zapewnić lepszy kontekst problemu lub możliwości.

Problemy i możliwości

Wiedząc o problemach i możliwościach, możesz podejmować odpowiednie działania związane z czasem renderowania klatki. Problem występuje, jeśli model urządzenia lub adnotacja (zgodnie z definicją powyżej) nie osiąga stałego docelowego czasu renderowania klatki. Możliwość to sytuacja, w której model urządzenia lub adnotacja regularnie przekracza docelowy czas renderowania o wartość wystarczającą do tego, by osiągnąć większą wierność.

Aby wychwycić problemy i możliwości, porównujemy czas renderowania klatki na 90. percentylu z wartościami progowymi wolnego i szybkiego renderowania klatki. Progi są określane na podstawie docelowego czasu renderowania:

Typy statystyk

Definicja

Sposób obliczania

Problem:

  • Model urządzenia o niskiej wydajności
  • Adnotacja o niskiej wydajności

„co najmniej 10% klatek nie osiąga docelowego czasu renderowania”

czas renderowania na 90. percentylu > spowolniona klatka

Możliwość:

  • Model urządzenia o wysokiej wydajności
  • Adnotacja o wysokiej wydajności

„co najmniej 90% klatek ma czas renderowania znacznie krótszy niż docelowy”

czas renderowania na 90. percentylu < szybka klatka

Ważne funkcje związane z problemami i możliwościami

Problemy i możliwości są definiowane tylko w tym kontekście:

  • Model urządzenia × poziom jakości
  • Adnotacja × poziom jakości

Umożliwia to przeanalizowanie problemu lub możliwości. Przykład:

  • Problem dotyczący modelu urządzenia X o poziomie jakości 4 => przyjrzyj się modelowi urządzenia X.
  • Możliwość dotycząca adnotacji Y na wszystkich poziomach jakości => przyjrzyj się adnotacji Y.

Problemy i możliwości nie stanowią przeciwieństw. W odróżnieniu od możliwości problemy mają mniejsze wymagania pozwalające na ich pokazanie. Jest też sporo „miejsca” między modelem urządzenia lub adnotacją bez problemów a modelem urządzenia lub adnotacją z możliwością.

Na niektórych poziomach jakości adnotacja może wykazywać problemem, który na innych poziomach będzie możliwością. Dotyczy to również modeli urządzeń, ale w praktyce scenariusz, w którym model urządzenia pojawia się na różnych poziomach jakości, jest bardzo mało prawdopodobny.

Problemy i możliwości są powiązane z docelową liczbą klatek. Jeśli ta wartość się zmieni, zmienią się również problemy i możliwości. Podstawowe dane o czasie renderowania klatki pozostaną jednak takie same.

Powiązane artykuły

Czy to było pomocne?
Jak możemy ją poprawić?

Potrzebujesz dodatkowej pomocy?

Zaloguj się i uzyskaj dodatkowe informacje, by szybko rozwiązać problem

Szukaj
Wyczyść wyszukiwanie
Zamknij wyszukiwanie
Aplikacje Google
Menu główne
Wyszukaj w Centrum pomocy
false
false
true
true
92637
false
false