Wtyczka ADPF Unreal Engine

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

  1. Pobierz wtyczkę

  2. Skopiuj wtyczkę do folderu wtyczki projektu

  3. Włącz wtyczkę ADPF Unreal Engine w edytorze Unreal

  4. Uruchom ponownie edytor Unreal

  5. Stwórz i ugotuj grę

Włącz wtyczkę ADPF Unreal Engine.
Rysunek 1. Włącz wtyczkę ADPF Unreal Engine.

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.

Schemat blokowy wtyczki ADPF Unreal Engine.
Rysunek 2. Schemat blokowy wtyczki ADPF Unreal Engine.

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.

Niesamowita skalowalność silnika.
Rysunek 3. Niesamowita skalowalność silnika.

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.
    Sprawdzone metody ADPF Unreal Engine.
    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.
    Sprawdzone metody ADPF Unreal Engine.
    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ę.
    Sprawdzone metody ADPF Unreal Engine.
    Rysunek 6. Nadaj priorytet ustawieniom grafiki w grze.