Пики производительности Unity при 30 FPS - PullRequest
0 голосов
/ 05 февраля 2019

Я занимаюсь разработкой простой игры для iOS с использованием движка Unity.Я использую Application.targetFrameRate, чтобы установить целевой fps для моей игры.Когда я устанавливаю целевой fps на 60 или 45, игра отлично работает на любом устройстве iOS, но если я установил targetFrameRate на 30, игра запускается с пиками и дрожанием.Я не знаю, почему это происходит (30 кадров в секунду должно быть в порядке).

Я подключил Profiler к своему iPhone и увидел, что при работе со скоростью 30 кадров в секунду некоторые кадры рендерится со скоростью 200 кадров в секунду, другие - со скоростью 45-60 кадров в секунду, что вызывает ужасные скачки производительности.Но этого не происходит, когда targetFrameRate равен 45 или 60.

Мне действительно нужно, чтобы моя игра работала со скоростью 30 кадров в секунду, чтобы избежать нагревания и дросселирования.Кто-нибудь, пожалуйста, помогите мне!

1 Ответ

0 голосов
/ 05 февраля 2019

Я угадываю основную проблему здесь, но установка targetFrameRate регулирует кадр с помощью логики на ЦП, а установка QualitySettings.vSyncCount позволяет GPU обрабатывать регулирование.Я предполагаю, что настройка QualitySettings.vSyncCount = 2 должна обеспечить более плавный опыт.Вы также можете установить это вручную в настройках качества, а не по коду.

...