NCSoft Lineage W to wieloosobowa gra fabularna (MMORPG) opracowana przez NCSoft. Ta gra dziedziczy tradycję oryginalnej gry Lineage W, oferując środowisko, w którym gracze z całego świata mogą współpracować i rywalizować na serwerach globalnych. Lineage W rozgrywa się w niezwykłym świecie fantasy w średniowiecznym klimacie. Gracze mogą liczyć na wciągającą rozgrywkę dzięki różnorodnym klasom, umiejętnościom i systemom walki.
Firma NCSoft wykorzystała dynamiczny interfejs wydajności Androida, aby zmaksymalizować jakość grafiki, a zarazem uniknąć problemów z wydajnością spowodowanych ograniczeniem mocy ze względu na temperaturę.
Dynamiczna platforma wydajnościowa Androida
Dynamiczny interfejs wydajności Androida (ADPF) udostępnia informacje o wykorzystaniu zasobów i pomaga deweloperom reagować w czasie rzeczywistym na zmiany wydajności, temperatury i sytuacji użytkownika. Obejmuje interfejsy API Thermal i Performance Hint. Interfejsy Thermal API dostarczają informacji o stanie termicznym urządzenia, a Performance Hint API – wskazówki dotyczące wydajności, które pomagają Androidowi wybrać optymalny punkt pracy procesora i umiejscowienie rdzenia.
Wtyczka Unreal Engine ADPF
Wtyczka Unreal Engine ADPF to najprostszy sposób korzystania z ADPF w grach tworzonych na Unreal Engine.
Wtyczka sprawdza stan termiczny urządzenia co sekundę. Gdy urządzenie się przegrzewa, wtyczka dostosowuje ustawienia jakości grafiki za pomocą domyślnych ustawień Unreal Scalability. Dostępne są 4 poziomy, a każdy z nich odpowiada różnym parametrom graficznym (rozdzielczość, odległość widoczności, postprodukcja itp.).
Jeśli masz już ustawienia w grze (np. niska, średnia i wysoka jakość), które gracz może konfigurować, zalecamy użycie tych ustawień zamiast domyślnych poziomów skalowalności Unreal.
Do sprawdzania temperatury urządzenia wtyczka używa 2 metod: oceny marginesu temperatury i sprawdzania stanu temperatury. Margines termiczny zawiera bardziej szczegółowe informacje i jest domyślnie włączony.
Wtyczka tworzy 2 sesje wskazówek dotyczących wydajności dla wątków gry i renderowania. W każdej klatce przesyła do frameworku docelową i rzeczywistą długość trwania. Pomaga to osiągnąć docelową liczbę klatek na sekundę (FPS).
Jak firma NCSoft zoptymalizowała wydajność
Lineage W używał ADPF, aby zapobiegać problemom z wydajnością spowodowanym przez ograniczanie ze względu na temperaturę. Starali się maksymalnie wykorzystać ustawienia jakości grafiki, które zapewniają znaczne zwiększenie wydajności przy jednoczesnym minimalizowaniu wpływu na rozgrywkę. Firma NCSoft zweryfikowała stabilność i działanie każdego etapu podczas dostosowywania jakości za pomocą wartości headroom. Aby zapewnić użytkownikom dobre wrażenia z gry, konieczne było przeprowadzenie różnych testów dla każdej zmodyfikowanej wartości ustawienia jakości grafiki.
Domyślnie gra działa z 30 FPS, ale NCSoft zmienił docelową liczbę klatek na sekundę na 60, aby sprawdzić, jak ADPF może zwiększyć liczbę klatek na sekundę.
Podczas 30-minutowego testowania rozgrywki na urządzeniu Pixel 6 z Androidem 13 liczba klatek na sekundę spadła gwałtownie z 60 FPS do 32 FPS, a wartość marginesu temperaturowego osiągnęła 1,0 f (wartość progowa dla poważnego ograniczania wydajności z powodu przegrzania) po 4 minutach.
Gdy gra używała wtyczki Unreal Engine ADPF z domyślną skalowalnością Unreal, była w stanie utrzymać 60 FPS przez 15 minut. Średnia liczba klatek na sekundę w ciągu tych 30 minut również wzrosła do 57,5 FPS. Jednak margines temperatury wykazał podobne wartości jak wcześniej, co oznacza, że urządzenie nagrzewało się w podobny sposób i było ograniczane termicznie.
Aby rozwiązać ten problem, zespół Lineage W zdecydował, że musi dać procesorowi ADPF większą kontrolę nad parametrami wierności, aby uniknąć ograniczenia ze względu na temperaturę. Po zintegrowaniu ustawień jakości grafiki w grze Lineage W. z wtyczką Unreal Engine ADPF osiągnęli optymalne wyniki. Ta integracja pozwoliła uzyskać stabilną liczbę klatek na poziomie 60 FPS przy zachowaniu wartości marginesu temperaturowego niższego niż 1,0, co wskazuje na wydajne zarządzanie temperaturą.
Dzięki zastosowaniu ustawień jakości gry Lineage W w ADPF firma NCSoft mogła zapewnić użytkownikom stabilniejsze i przyjemniejsze wrażenia.
Funkcja ta nie jest w pełni obsługiwana przez wszystkich producentów urządzeń z Androidem, dlatego firma NCSoft wdrożyła ją jako opcję w grze „Adaptive Performance Optimization”, którą gracze mogą włączyć.
Pierwsze kroki z wtyczką ADPF i Unreal Engine
Deweloperzy, którzy chcą korzystać z Androida Adaptability lub wtyczki ADPF Unreal Engine, powinni wykonać te czynności:
- Dowiedz się więcej o ADPF i wtyczce Unreal Engine ADPF.
- Dostosuj skalery do treści gry zamiast korzystać z skalowalności Unreal Engine.
- Monitoruj skuteczność gry, aby mieć pewność, że spełnia ona oczekiwania. Eksperymentuj z różnymi ustawieniami, aby znaleźć najlepsze osiągi i minimalny wzrost 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.