Wtyczka Android Dynamic Performance Framework (ADPF) do Unreal Engine zapewnia stabilną wydajność i zapobiega ograniczaniu temperatury.
Możesz pobrać wtyczkę z GitHuba.
Jak korzystać z wtyczki ADPF Unreal Engine
Pobierz wtyczkę
Skopiuj wtyczkę do folderu wtyczki projektu
Włącz wtyczkę ADPF Unreal Engine w edytorze Unreal
Uruchom ponownie edytor Unreal
Stwórz i ugotuj grę

Konfiguracja konsoli wtyczek
Wtyczka ma następujące zmienne konsoli Unreal Engine, które umożliwiają zmianę opcji wtyczki w czasie działania:
Zmienna CVar |
Prawidłowe wartości |
Wartość domyślna |
Opis |
---|---|---|---|
r.AndroidPerformanceEnabled |
0, 1 |
1 |
Włącz lub wyłącz wtyczkę Android Performance. Wtyczka używa interfejsu Android Adability API, aby dostosowywać ustawienia gry do stanu temperatury urządzenia i odpowiednio dostosowywać procesor w zależności od potrzeb. 0: wyłączone (wyłączone) 1: włączono (włączone) |
r.AndroidPerformanceHintEnabled |
0, 1 |
1 |
Włącz/wyłącz menedżera wskazówek dotyczących wydajności. Włącz to ustawienie, aby optymalnie wzmocnić wątki na obsługiwanych urządzeniach z Androidem. 0: wyłączone (wyłączone) 1: włączono (włączone) |
r.Skuteczność zmiany na Androidzie |
0, 1, 2 |
1 |
Wybierz, w jaki sposób stan termiczny ma wpływać na poziom wierności gry. 0: system nie dostosowuje żadnych ustawień 1. Ustawienia są dostosowywane zgodnie z zapasem temperatury. 2: Ustawienia są dostosowane w zależności od odbiornika termicznego |
Jak działa wtyczka ADPF Unreal Engine
Wtyczka wywołuje funkcję Monitor()
przy każdej klatce i sprawdza czas, który upłynął od poprzedniej kontroli temperatury. Po upływie co najmniej jednej sekundy wtyczka odczytuje bieżącą temperaturę i określa, czy konieczna jest zmiana jakości grafiki (np. czy gra jest ograniczona termicznie lub zbliża się do progu ograniczania temperatury) i odpowiednio dostosowuje ustawienia.
Wtyczka przekazuje również docelowy i rzeczywisty czas trwania klatki do interfejsu Performance hint session API i w razie potrzeby zwiększa częstotliwość procesora lub w razie potrzeby dostosowuje harmonogram procesora.

Jak zmienić jakość grafiki w zależności od stanu termicznego
Wtyczka dostosowuje jakość grafiki za pomocą Unreal Engine Scalability na podstawie opinii od interfejsów API termicznych. W Unreal Engine skalowalność ma 4 poziomy: od 3 (najwyższa jakość) do 0 (najniższa jakość). Każdy poziom jest mapowany na skalę rozdzielczości, odległość wyświetlania, anti-aliasing, przetwarzanie końcowe i inne funkcje.

ADPF umożliwia określenie stanu cieplnego urządzenia na 2 sposoby: zasobnik termiczny i stan cieplny. Zasobnik termiczny zapewnia dokładniejszą wartość, więc wtyczka domyślnie korzysta z zastosowania termometru i wyłącza interfejs API stanu termicznego.
Skalowalność Unreal Engine zmienia się w zależności od następujących wartości termicznych:
Rezerwat cieplny
- < 0,75: poziom jakości 3
- 0,75–0,85: poziom jakości 2
- 0,85–0,95: poziom jakości 1
- > 0,95: poziom jakości 0
Stan termiczny
- Brak:poziom jakości 3.
- Jasny: poziom jakości 2
- Umiarkowana: poziom jakości 1.
- Poważne i krytyczne: poziom jakości 0
Więcej informacji znajdziesz w artykule na temat Thermal API.
Interfejsy API ze wskazówkami dotyczącymi wydajności
Wtyczka ma 2 rodzaje sesji ze wskazówkami dotyczącymi wydajności – jeden dla wątku gry, a drugi dla wątków renderowania (wątki renderowania i RHI). Te 2 rodzaje wskazówek dotyczących wydajności służą do raportowania rzeczywistego i docelowego czasu trwania każdej klatki. System dostosowuje częstotliwość procesora i umożliwia lepszy wybór harmonogramu, gdy rzeczywisty czas trwania różni się od docelowego.
Więcej informacji znajdziesz w artykule o Performance Hint API.
sprawdzone metody
Wtyczka zapobiega ograniczaniu termicznemu i zapewnia stałą docelową liczbę FPS w ramach podstawowej implementacji. Aby uzyskać natychmiastowe wyniki, zastosuj ADPF z domyślnymi poziomami skalowalności Unreal Engine.
Jednak każda gra jest inna, dlatego dostosuj poziomy skalowalności każdego parametru, np. skalę rozdzielczości, odległość wyświetlania, anti-aliasing, przetwarzanie końcowe, cienie, tekstury i efekty, aby umożliwić ADPF pełna, dynamiczną wydajność gry.
Oto 3 kluczowe kroki do osiągnięcia najlepszych wyników dzięki wtyczce ADPF Unreal:
- Wyznacz poziom odniesienia: zanim zaczniesz używać ADPF, dokładnie opracuj profil wydajności gry. Dane te posłużą jako cenna analiza porównawcza po wdrożeniu wtyczki.
Rysunek 4. Wyznacz poziom odniesienia. - Wykorzystaj nierzeczywistą skalowalność: eksperymentuj z niesamowitą skalowalnością, nawet jeśli zapewnia ona tylko niewielkie wzrosty wydajności. Zapewni to wzrost wydajności
bez większego wysiłku.
Rysunek 5. Wykorzystaj niesamowitą skalowalność. - Nadaj priorytet ustawieniom grafiki w grze:zoptymalizuj jakość grafiki w grze. Te ustawienia są dostosowane specjalnie do zawartości gry,
zapewniając płynniejszą liczbę klatek i lepsze zarządzanie odpornością na temperaturę.
Rysunek 6. Nadaj priorytet ustawieniom grafiki w grze.