Tło
Ares: Rise of Guardians to science fiction MMORPG na urządzenia mobilne i PC stworzona przez koreańskie studio Second Dive, które słynie z doświadczenia w tworzeniu gier z serii RPG akcji. Gra została opublikowana przez Kakao Games.
Akcja gry toczy się w rozległym wszechświecie z szczegółowym, futurystycznym tłem. Ares oferuje ekscytującą rozgrywkę i pięknie odwzorowane postacie, w tym wojowników w zbrojach bojowych. Jednak ze względu na szczegółową grafikę niektóre urządzenia użytkowników nie były w stanie obsłużyć rozgrywki.
Rozwiązanie
W przypadku niektórych użytkowników urządzenie przegrzewało się po zaledwie kilku minutach grania i wchodziło w stan ograniczonego działania. W tym stanie częstotliwość procesora i karty graficznej są zmniejszone, co wpływa na wydajność gry i powoduje spadek liczby klatek na sekundę. Jednak gdy tylko zmniejszenie liczby klatek na sekundę poprawiło sytuację termiczną, liczba klatek na sekundę ponownie wzrosła i cykl się powtórzył. Wahania liczby klatek na sekundę powodowały zacinanie się gry.
Aby rozwiązać ten problem, Kakao Games wykorzystało Android Adaptability i Unity Adaptive Performance, aby poprawić wydajność i zarządzanie temperaturą w grze.
Android Adaptability to zestaw narzędzi i bibliotek, które umożliwiają grze analizowanie i reagowanie na zmiany wydajności, temperatury i sytuacji użytkownika w czasie rzeczywistym. Android Adaptability obejmuje interfejsy API dotyczące temperatury w ramach interfejsu Dynamic Performance Framework (ADPF), które dostarczają informacji o stanie termicznym urządzenia, oraz interfejs API PerformanceHintManager
, który pomaga Androidowi wybrać optymalny punkt działania procesora i umiejscowienie rdzenia. Oba interfejsy API współpracują z pakietem Unity Adaptive Performance, aby ułatwić optymalizację gier.
Android Adaptability i Unity Adaptive Performance współpracują ze sobą, aby dostosować ustawienia grafiki aplikacji lub gry do możliwości urządzenia użytkownika. W efekcie: wyższa wydajność, mniejsze ograniczanie ze względu na temperaturę, mniejsze zużycie energii i dłuższa żywotność baterii.
Co udało się osiągnąć
Po zintegrowaniu adaptacyjnej wydajności Ares może lepiej zarządzać sytuacją termiczną, co powoduje mniejsze ograniczanie. Użytkownicy mogą cieszyć się większą liczbą klatek na sekundę, a stabilność FPS wzrosła z 75% do 96%.
Na wykresach poniżej niebieska linia wskazuje poziom ostrzeżenia dotyczącego temperatury. Dolna linia (0,7) oznacza brak ostrzeżenia, środkowa (0,8) – nadchodzące ograniczenie, a górna (0,9) – ograniczenie.
Jak widać na pierwszym wykresie, zanim w Ares wprowadziliśmy funkcję Android Adaptability, ograniczenie prędkości następowało po około 16 minutach rozgrywki. Drugi wykres pokazuje wynik integracji z Androidem Adaptability: ograniczenie nie występuje do około 22 minut.
Firma Kakao Games chciała też ograniczyć nagrzewanie się urządzenia, co przy ciągłym ustawieniu wysokiej jakości grafiki nie było możliwe. Zalecamy stopniowe obniżanie jakości grafiki wraz ze wzrostem temperatury urządzenia, aby utrzymać stałą liczbę klatek i równowagę termiczną. Dlatego firma Kakao Games opracowała 6-etapową sekwencję zmian z Android Adaptability, która umożliwiła stabilną liczbę klatek na sekundę i niższe temperatury urządzenia.
Automatyczne zmiany jakości są odzwierciedlane w ustawieniach jakości grafiki w grze (rozdzielczość, tekstury, cień, efekty itp.) w menu ustawień. Ponieważ niektórzy użytkownicy chcą mieć najwyższą jakość grafiki, nawet jeśli ich urządzenie nie może zapewnić wydajności na tym poziomie, Kakao Games udostępniło użytkownikom opcję ręcznego wyłączania wydajności adaptacyjnej Unity.
Pierwsze kroki z Androidem Adaptability
Android Adaptability i Unity Adaptive Performance są teraz dostępne dla wszystkich deweloperów gier na Androida, którzy korzystają z dostawcy Androida w Unity na większości urządzeń z Androidem w wersji Android 11 (poziom interfejsu API 30), Android 12 (poziom interfejsu API 31) i wyższych oraz z interfejsem API wskazówek dotyczących wydajności. Możesz użyć dostawcy Androida z wersji 5.0.0 z dopasowywaniem do wydajności. Interfejsy API dotyczące temperatury są zintegrowane z Adaptive Performance, aby ułatwić pobieranie informacji o temperaturze urządzenia. Interfejs API dotyczący wskazówek dotyczących wydajności jest wywoływany automatycznie co Update()
.
Dodatkowe materiały
Dowiedz się, jak Android Adaptability i Unity Adaptive Performance mogą pomóc Ci w ustabilizowaniu liczby klatek na sekundę w grze i zmniejszeniu throttlingu termicznego.