Version: 5.3 (switch to 5.4b)
Оптимизация производительности в iOS.
Измерение производительности при помощи встроенного профайлера

Особые оптимизации для iOS

Эта страница описывает оптимизации, уникальные для iOS платформы.

Оптимизация Script Call

Большая часть функций в пространстве имён UnityEngine реализованы на C/C++. Вызов C/C++ функции из скрипта Mono включает в себя трату производительности. Вы можете использовать оптимизацию iOS Script Call (menu: Edit->Project Settings->Player), чтобы сохранить от 1 до 4 милисекунд в кадр. Варианты настройки:-

  • Slow and Safe - стандартная внутренняя система обработки вызовов Mono с поддержкой исключений.
  • Fast and Exceptions Unsupported - более быстрая реализация внутренней обработки вызовов Mono. Однако этот режим не поддерживает исключения и поэтому им нужно пользоваться осторожно. Приложение, которое не может обрабатывать исключения (и не очень-то ему и надо) является идеальным кандидатом для этого варианта.

Установка желаемой частоты кадров (Framerate)

Unity iOS позволяет вам выбрать частоту, с которой ваше приложение попытается выполнять процесс рендеринга. По умолчанию она равна 30-ти кадрaм в секунду. Вы можете понизить это число, чтобы уменьшить скорость разряда аккумулятора, но это, разумеется, будет ценой обновления кадров. И наоборот, вы можете увеличить частоту кадров, чтобы дать рендерингу приоритет над другими процессами, вроде сенсора или работы акселерометра. Вам придётся поэкспериментировать с выбором желаемой частоты кадров, чтобы определить, как в вашем случае это будет влиять на игровой процесс.

Если ваше приложение включает в себя много вычислений или рендеринга и может обрабатывать только 15 кадров в секунду, то установка желаемой частоты кадров выше 15, не даст дополнительной производительности. Приложение должно быть достаточно оптимизировано для высокой частоты кадров.

Чтобы задать желаемую частоту кадров, измените Application.targetFrameRate.

Настройка частоты обработки акселерометра

Если акселерометр выдаёт данные чаще слишком часто, то производительность вашей игры может пострадать. По умолчания, Unity iOS приложение будет брать данные с акселерометра 60 раз в секунду. Вы можете немного увеличить производительность уменьшив частоту снятия данных с акселерометра, а для игр, которые его не используют, можно и вовсе установить её на ноль. Вы можете изменить частоту работы акселерометра, используя панель Other Settings в меню iOS Player Settings.

Оптимизация производительности в iOS.
Измерение производительности при помощи встроенного профайлера