W tym przewodniku opisujemy, jak za pomocą platformy Android Dynamic Performance Framework (ADPF) optymalizować gry na podstawie dynamicznych parametrów temperatury i zarządzania procesorami na Androidzie. Skupimy się na grach, ale funkcje te możesz też wykorzystywać do obsługi innych aplikacji o dużej wydajności.
ADPF to zestaw interfejsów API, które pozwalają grom i aplikacjom o dużej wydajności na bardziej bezpośrednią interakcję z systemami zasilania i temperatury urządzeń z Androidem. Dzięki tym interfejsom API możesz monitorować dynamiczne zachowanie systemów Android i optymalizować wydajność gry na poziomie zrównoważonym, który nie przegrzewa urządzeń.
Mobilne układy SOC i urządzenia z Androidem cechują się większą wydajnością niż komputery i konsole. Obejmują one zarządzanie stanem termicznym, różne zegary procesora i różne typy rdzeni procesora. W połączeniu z coraz bardziej zróżnicowaną podstawową topologią układów SOC stwarza to problemy, gdy chcemy zadbać o to, by gra mogła wykorzystać to zachowanie bez negatywnego wpływu na wydajność urządzenia. ADPF udostępnia niektóre z tych informacji, aby zwiększyć przewidywalność skuteczności.
Oto główne funkcje ADPF:
- Thermal API: monitoruj stan termiczny urządzenia, aby aplikacja mogła aktywnie dostosowywać zadania, zanim stanie się niezrównoważona.
- CPU Performance Hint API: podaj wskazówki dotyczące wydajności, aby umożliwić Androidowi wybór odpowiednich ustawień wydajności (np. punktu operacyjnego lub rdzenia) dla zbioru zadań.
- Game Mode API i Game State API: pozwala włączyć optymalizację rozgrywki, ustalając priorytety wydajności lub czasu pracy na baterii na podstawie ustawień użytkownika i konfiguracji konkretnych gier.
- Tryb stałej wydajności: podczas testów porównawczych włącz na urządzeniu tryb stałej wydajności, aby uzyskać pomiary, które nie są zmieniane przez dynamiczne taktowanie procesora.
- Tryb efektywności energetycznej: informuje sesję, że wątki w sesji podpowiedzi dotyczących wydajności można bezpiecznie zaplanować, tak aby preferować oszczędność energii, a nie wydajność. (Dostępne w Androidzie 15).