На этой странице подробно описаны оптимизации, уникальные для iOSмобильной операционной системы Apple. Подробнее
См. в разделе развертывания Словарь.
Оптимизация вызова скрипта
Большинство функций в пространстве имен UnityEngine реализованы на C/C++. Вызов функции C/C++ из сценария Mono приводит к снижению производительности, поэтому вы можете сэкономить от 1 до 4 миллисекунд на кадр, используя параметр iOS Оптимизация вызовов сценариев.
Рекомендуется никогда не полагаться на обработку исключений (внутри или с помощью блоков try/catch). При использовании параметра Медленно и безопасно по умолчанию Unity перехватывает любые исключения, возникающие на устройстве, и предоставляет трассировку стека. При использовании параметра Быстро, но без исключений любые возникающие исключения приведут к сбою игры, а трассировка стека не будет предоставлена. Кроме того, Unity вызывает событие AppDomain.UnhandledException, чтобы предоставить коду конкретного проекта доступ к информации об исключении.
С Mono сценарным бэкэндомфреймворком, поддерживающим скрипты в Unity. Unity поддерживает три различных бэкэнда для сценариев в зависимости от целевой платформы: Mono, .NET и IL2CPP. Однако универсальная платформа Windows поддерживает только два: .NET и IL2CPP. Дополнительная информация
Посмотрите в Словарь, игра работает быстрее, так как процессор не отвлекает мощность для обработки исключений. Параметр Быстро, но без исключений не обеспечивает повышения производительности при использовании IL2CPPразработанного Unity скриптовый сервер, который вы можете использовать в качестве альтернативы Mono при создании проектов для некоторых платформ. Подробнее
См. Словарь. Однако при выпуске игры для всего мира лучше всего опубликовать ее с параметром Быстро, но без исключений.
Настройка частоты обработки акселерометра
Если данные акселерометра обрабатываются слишком часто, в результате может пострадать общая производительность игры. По умолчанию приложение Unity iOS замеряет показания акселерометра 60 раз в секунду. Вы можете увидеть некоторый выигрыш в производительности, уменьшив частоту дискретизации акселерометра, и вы даже можете установить ее на ноль для игр, которые не используют ввод акселерометра. Вы можете изменить параметр Частота акселерометра на панели Другие настройки в настройках проигрывателя для платформы iOS. .
Инкрементные сборки
Код C++, сгенерированный серверной частью сценариев IL2CPP, можно обновлять постепенно, что позволяет системам инкрементной сборки C++ компилировать только исходные файлы изменений. Это может значительно сократить время итерации при использовании серверной части сценариев IL2CPP.
Чтобы использовать добавочные сборки, выберите параметр Добавить после выбора Сборка в диалоговом окне Настройки сборки. Опция Заменить выполняет чистую сборку.
Настройка частоты кадров
Unity iOS позволяет вам изменить частоту, с которой ваше приложение будет пытаться выполнить свой цикл рендеринга, для которой установлено значение 30 кадров в секундуЧастота отображения последовательных кадров в запущенной игре. Подробнее
По умолчанию смотреть в Словарь. Вы можете уменьшить это число, чтобы сэкономить заряд батареи, но, конечно, эта экономия будет достигнута за счет обновлений кадров. И наоборот, вы можете увеличить частоту кадров, чтобы дать рендерингу приоритет над другими действиями, такими как сенсорный ввод и обработка акселерометра. Вам нужно будет поэкспериментировать с выбором частоты кадров, чтобы определить, как она влияет на игровой процесс в вашем случае.
Если ваше приложение включает в себя тяжелые вычисления или рендеринг и может поддерживать, скажем, только 15 кадров в секунду, то установка желаемой частоты кадров выше пятнадцати не даст дополнительной производительности. Приложение должно быть достаточно оптимизировано, чтобы обеспечить более высокую частоту кадров.
Чтобы установить желаемую частоту кадров, измените Application.targetFrameRate.