


Netmarble, jeden z wiodących deweloperów gier mobilnych, stworzył Game of Thrones: Kingsroad (wkrótce na Androida), czyli RPG akcji i przygody oparty na nagrodzonej Emmy® i Złotym Globem® serii „Gra o tron”. Podczas uruchamiania gry na urządzeniach z Androidem napotykała problemy ze skutecznością, zwłaszcza ograniczenie temperatury, co miało wpływ na trwałą wydajność i wrażenia użytkownika. Aby to osiągnąć, firma strategicznie wykorzystała ramę Android Adaptive Performance Framework (ADPF) i wdrożyła optymalizacje skupione na skalowaniu rozdzielczości i dynamicznej regulacji liczby klatek.
Wyzwanie
Gry mobilne o wysokiej jakości wymagają znacznych zasobów GPU i procesora, co często prowadzi do nadmiernego wydzielania ciepła i ograniczania temperatury na urządzeniach z Androidem. Firma Netmarble zauważyła, że długie sesje grania powodują wzrost temperatury urządzenia, co prowadzi do pogorszenia wydajności, w tym spadku liczby klatek i niestabilnej wydajności. Głównym wyzwaniem było zapewnienie atrakcyjnego wizualnie obrazu przy jednoczesnym skutecznym zarządzaniu temperaturą urządzenia, aby uniknąć spowalniania i zapewnić stałą wydajność.
Rozwiązanie
Firma Netmarble zastosowała podejście oparte na danych do korzystania z ADPF, koncentrując się na dynamicznych korektach na podstawie stanu termicznego w czasie rzeczywistym.
Identyfikowanie wąskich gardeł wydajności
Firma Netmarble przeprowadziła skrupulatną analizę wydajności, mierząc wpływ różnych ustawień jakości grafiki na liczbę klatek i obciążenie termiczne. Z tej analizy wynika, że skalowanie rozdzielczości miało największy wpływ na obciążenie GPU i wytwarzanie ciepła, nie wpływając znacząco na częstotliwość wyświetlania klatek. Co ważne, okazało się, że inne opcje graficzne (cienie, tekstury itp.) miały stosunkowo niewielki wpływ na ogólną wydajność cieplną.
Dynamiczne skalowanie rozdzielczości
Netmarble dodał system dynamicznej rozdzielczości. Zmienia jakość obrazu w grze na podstawie temperatury urządzenia za pomocą interfejsu ADPF Thermal API. Dzięki temu gra może dostosować się do różnych warunków. Gdy urządzenie jest chłodne, gra używa wysokiej rozdzielczości. Jeśli urządzenie się przegrzewa, gra obniża rozdzielczość, aby zmniejszyć temperaturę.
Dostosowanie adaptacyjnej częstotliwości klatek
W związku ze skalowaniem rozdzielczości Netmarble wdrożył dynamiczne korekty liczby klatek. Jeśli docelowa liczba klatek na sekundę w grze wynosi 60, system może stopniowo zmniejszać docelową liczbę klatek na sekundę, gdy wykryje nadmierne nagrzewanie się. Aby uniknąć problemów z temperaturą, Netmarble ustawił minimalną skalowalna liczbę klatek na sekundę na 30. Dzięki temu gra działała płynnie. System jest też zaprojektowany tak, aby stopniowo zwiększać liczbę klatek na sekundę do wartości docelowej, gdy temperatura spadnie, co pozwala zachować optymalną wydajność.
Wyniki
Wdrożenie dynamicznego skalowania rozdzielczości i adaptacyjnych korekt liczby klatek na sekundę, które są obsługiwane przez ADPF, znacznie poprawiło zarządzanie temperaturą i wydajność działania.

- Zwiększony margines temperatury: ADPF zmniejszył średni margines temperatury z 1,04 do 0,92 (o 11%), zapobiegając pogorszeniu wydajności i wydłużając żywotność urządzenia. Wartość marginesu temperaturowego nigdy nie przekroczyła 1,0, dzięki czemu zapobiegała przegrzewaniu się urządzenia.
- Bardziej stabilna liczba klatek na sekundę: ta funkcja zapewnia płynniejszą rozgrywkę dzięki inteligentnemu dostosowywaniu docelowej liczby klatek na sekundę w grze na podstawie stanu termicznego urządzenia. Bez ADPF liczba klatek na sekundę w grze może się znacznie wahać (np. od 40 do 56) z powodu ograniczania ze względu na temperaturę. Ta niestabilna częstotliwość klatek spowodowana jest tym, że urządzenie ma problemy z odprowadzaniem ciepła, co może powodować nieprzyjemne wrażenia podczas rozgrywki. Dzięki temu gra może zapobiegać nadmiernemu nagrzewaniu się, zapewniając stabilną i ciągłą liczbę klatek na sekundę, która zwykle mieści się w zakresie 50–60 FPS. Zapobiega to nagłym spadkom liczby klatek związanym z ograniczeniem temperatury, co znacznie poprawia komfort korzystania z odtwarzacza.
- Zachowujemy wysoką jakość grafiki: dzięki temu, że priorytetem jest skalowanie rozdzielczości jako główny mechanizm dostosowywania, firma Netmarble zminimalizowała wpływ zarządzania temperaturą na jakość obrazu, zachowując przy tym inne ustawienia (tekstury, efekty itp.) na wyższych poziomach.
Podsumowanie
Koncentrując się na skalowaniu rozdzielczości i dynamicznym dostosowywaniu liczby klatek na sekundę zgodnie z zaleceniami ADPF, firma Netmarble rozwiązała problemy z przegrzewaniem się urządzenia w grze Game of Thrones: Kingsroad, zachowując przy tym optymalny balans między wydajnością, jakością obrazu i wrażeniami użytkownika. Ich strategiczne korzystanie z ADPF pokazuje skuteczne podejście dla deweloperów gier mobilnych, którzy mają podobne problemy. ADPF zapewnił graczom bardziej niezawodne, przyjemne i spójne wrażenia, umożliwiając im dłuższą rozgrywkę z mniejszą liczbą spadków liczby klatek i mniejszymi obawami o przegrzanie urządzenia. Dzięki temu rozwiązaniu firma Netmarble może nadal zapewniać wysoką jakość gier, a zarazem optymalną wydajność i długowieczność urządzeń.
Rozpocznij pracę z ADPF już dziś w Unity, Unreal i C++
Deweloperzy, którzy chcą korzystać z Androida Adaptability, powinni:
- Dowiedz się więcej o ADPF, wtyczce ADPF do Unreal Engine i dostawcy Androida do obsługi adaptacyjnych treści w Unity.
- Używaj ADPF z domyślnymi poziomami jakości Unity i skalowalnością Unreal Engine.
- Monitoruj skuteczność gry, aby mieć pewność, że spełnia ona oczekiwania. Eksperymentuj z różnymi ustawieniami (np. rozdzielczością, częstotliwością klatek, cieniami, teksturami) w celu uzyskania najlepszej wydajności i minimalnego wzrostu temperatury.
- Aby uniknąć nagłego spadku wydajności, zmień ustawienia jakości grafiki osobno.
Niezależnie od tego, którego silnika używasz, zawsze możesz bezpośrednio korzystać z interfejsów API. Więcej informacji znajdziesz w artykule Android Adaptability i artykule Wtyczka ADPF dla Unreal Engine.