UNISOC wykorzystuje ADPF, aby zwiększyć wydajność gier na Androida

Optymalizacja wydajności i zarządzania temperaturą to kluczowe wyzwanie dla deweloperów gier na Androida. Aby zapewnić graczom jak najlepsze wrażenia, deweloperzy potrzebują narzędzi, które pozwolą im zachować równowagę między wysoką liczbą klatek a zrównoważonym zużyciem energii. Dynamiczne ramy wydajności Androida (ADPF) udostępniają kluczowy zestaw interfejsów API, które umożliwiają grom bezpośrednią interakcję z systemami zasilania i termicznymi urządzenia, co pozwala na precyzyjne dostosowywanie optymalizacji.

Firma UNISOC wykorzystuje te narzędzia, aby zapewnić doskonałą jakość gier na swoich układach SoC. Od Androida 14 produkty UNISOC w pełni obsługują podstawowe interfejsy ADPF API, w tym Performance Hint, Thermal i Game Mode/State. Aby jeszcze bardziej zwiększyć wydajność układów SoC, firma UNISOC wykorzystuje te interfejsy ADPF w swoim silniku UNISOC Miracle Gaming, który monitoruje obciążenie systemu i dynamicznie dostosowuje wydajność, zapewniając płynniejszą i stabilniejszą rozgrywkę.

Ilustracja 1. UNISOC Miracle Gaming
Rysunek 1. UNISOC Miracle Gaming

Optymalizacja wydajności i temperatury za pomocą ADPF

Wdrożenie ADPF przez UNISOC zapewnia deweloperom zaawansowane narzędzia do zarządzania wydajnością gier w czasie rzeczywistym.

  • Wskazówka dotycząca wydajności: interfejs PerformanceHintManager umożliwia aplikacjom przekazywanie informacji do systemu, dzięki czemu układ SoC może przydzielać odpowiednią ilość zasobów we właściwym czasie. Dostarczając wskazówki dotyczące obciążeń i raportując rzeczywisty czas trwania klatek, gry mogą pomóc systemowi w dynamicznym przyspieszaniu rysowania i komponowania warstw, co prowadzi do bardziej spójnej wydajności.

  • Thermal API: aby zapobiec zakłócającemu działaniu ograniczeniu termicznemu, deweloperzy mogą używać interfejsu getThermalHeadroom() API. Ta funkcja przewiduje stan termiczny urządzenia, dzięki czemu aplikacja może proaktywnie dostosowywać obciążenie przed przegrzaniem. Ta przewidywalność jest kluczowa dla stabilizacji liczby klatek na sekundę podczas intensywnych, długotrwałych sesji.

  • Interfejsy API trybu gry i stanu gry: te interfejsy API usprawniają komunikację między grą a systemem. GameMode umożliwia użytkownikom sygnalizowanie swoich intencji (np. wybieranie w grze ustawienia „wydajność”), a GameState pozwala grze informować system operacyjny o swoim bieżącym stanie (np. wczytywanie, granie itp.). System może następnie wykorzystywać interwencje, takie jak skalowanie rozdzielczości gry i zastępowanie liczby klatek na sekundę w grze, aby optymalizować wydajność na podstawie tego kontekstu.

Zapewnianie lepszej liczby klatek na sekundę i większej energooszczędności

Integracja ADPF z układami SoC firmy UNISOC zapewnia wymierne korzyści w zakresie liczby klatek na sekundę, zużycia energii i ogólnych wrażeń z gry. W testach z popularną grą LineageW od NCSOFT korzyści były widoczne w przypadku różnych ustawień grafiki.

Przy średniej jakości grafiki gra osiągnęła znaczny wzrost liczby klatek o 28,1% , a jednocześnie zmniejszyła zużycie energii o 3,7%, co przyniosło podwójne korzyści w postaci płynniejszego działania i większej wydajności.

Wyniki w przypadku innych ustawień również były imponujące:

  • Przy wysokich ustawieniach grafiki liczba klatek na sekundę wzrosła o imponujące 50,1%, a pobór mocy zwiększył się tylko o 3,1%. Pokazuje to, że ADPF może znacznie zwiększyć wydajność.

  • Przy niskich ustawieniach grafiki gracze odnotowali wzrost liczby klatek na sekundę o 11,5% przy wzroście zużycia energii o 9,9% , co pokazuje, że wzrost wydajności jest widoczny nawet w przypadku mniej wymagających konfiguracji.

Ilustracja 2. Liczba klatek przy niskiej jakości grafiki
Rysunek 2. Niska liczba klatek
Ilustracja 3. Średnia liczba klatek na sekundę w przypadku grafiki
Rysunek 3. Średnia liczba klatek
Ilustracja 4. Wysoka liczba klatek w grafice
Rysunek 4. Wysoka liczba klatek
Ilustracja 5. Zużycie energii
Rysunek 5. Zużycie energii

UNISOC prezentuje też funkcję „Adaptive Optimization” (Optymalizacja adaptacyjna). Gdy użytkownik włączy tę opcję, aplikacja może automatycznie dostosowywać elementy graficzne, takie jak tekstury, roślinność i jakość efektów, w odpowiedzi na informacje zwrotne z systemu, co zapewnia bardziej stabilną liczbę klatek na sekundę.

Co dalej z adaptacyjną wydajnością na układach SoC UNISOC

Firma UNISOC dąży do pogłębiania integracji z ADPF. Wraz z rozwojem platformy silnik UNISOC Miracle Gaming będzie nadal uwzględniać najnowsze podstawowe funkcje ADPF, dzięki czemu deweloperzy i gracze będą mogli korzystać z najnowszych technologii zarządzania wydajnością i temperaturą na urządzeniach z procesorem UNISOC.

Pierwsze kroki z funkcjami ułatwień dostępu na Androidzie

Android Dynamic Performance Framework jest teraz dostępny dla wszystkich deweloperów gier na Androida w przypadku silników gier Unity, Unreal i Cocos Creator oraz w postaci natywnych bibliotek C++.

  • Deweloperzy korzystający z Unity mogą zacząć od dostawcy Adaptive Performance w wersji 5.0.0. Pamiętaj, że interfejs Thermal API jest obsługiwany przez większość urządzeń z Androidem 11 (API na poziomie 30), a interfejs Performance Hint API – przez urządzenia z Androidem 12 (API na poziomie 31).

  • Deweloperzy korzystający z Unreal mogą zacząć od wtyczki Android Dynamic Performance Unreal Engine na większości urządzeń z Androidem w wersji 12 (API na poziomie 31) lub nowszej.

  • W przypadku Cocos Creator możesz zacząć korzystać z interfejsu Thermal API od wersji 3.8.2, a z interfejsu Performance Hint API od wersji 3.8.3.

  • W przypadku silników niestandardowych możesz skorzystać z przykładowego kodu natywnego ADPF w C++.