Неравномерный FPS на iOS, несмотря на постоянную низкую загрузку процессора и графического процессора - PullRequest
0 голосов
/ 22 мая 2018

Профилируя нашу игру на iPad Pro, XCode сообщает мне:

  • Время работы графического процессора составляет 4 мс
  • Время, затрачиваемое на питание графического процессора, составляет ~ 60% от загрузки процессора

Если я взаимодействую с приложением (проводя пальцем, чтобы развернуть статичный игровой вид), загрузка процессора составляет около 30%, но очень резкая.Если я не буду взаимодействовать, загрузка ЦП возрастет до 100%, предположительно потому, что устройство отключается, когда к экрану не прикасаются.FPS падает с 60 до 40 / 30.

Итак, первый вопрос: есть ли способ заставить или намекнуть, что устройство не должно этого делать?Игра должна работать гладко, даже когда пользователь не касается экрана.

Во-вторых, загрузка ЦП, когда я am касается экрана, очень, очень резкая, несмотря на то, что ничегов сцене меняется.Точно та же самая геометрия маршалируется и представляется в каждом кадре, и никакая другая работа не выполняется (игра по существу приостановлена).

Профилировщик времени (Инструменты) не помогает вообще.Сравнивая пики «высокой нагрузки» с периодами «низкой нагрузки», нет существенных различий в пропорции процессорного времени, затрачиваемого в какой-либо части приложения, несмотря на то, что эти кадры якобы занимают в 2-3 раза больше времени.Опять же, похоже, что виноват дросселирование процессора, но это очень изменчиво и неравномерно.Иногда мы получаем 60 кадров в секунду, затем оно падает до 40 или 30 без видимых причин, и в профилировщике ничего лишнего не появляется.

Мне бы понравилась диаграмма вызовов, подобная той, которую предоставляет Android Studio,чтобы получить представление о том, что происходит, по часам, но я не могу его найти (всего миллион результатов для создания красивых диаграмм на Mac).Итак, второй вопрос: есть ли какой-нибудь плагин, который я могу использовать, чтобы взять данные о профилировании времени и просмотреть их как график вызовов времени?

Спасибо.

...