Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Интеграция Unity с отладчиком кадров Xcode

Xcode инструмент отладчика кадров позволяет вам захватить кадр вашего приложения, чтобы увидеть команды, которые GPU выполнял во время этого кадра, изучить данные в памяти GPU и определить узкие места в вашем шейдерыПрограмма, работающая на графическом процессоре. Подробнее
См. в Словарь
. Это позволяет детально анализировать производительность графического процессора.

Unity интегрируется с отладчиком кадров Xcode следующими способами:

  • В macOS используется iOSмобильная операционная система Apple. Подробнее
    См. в Словарь
    , и tvOS, вы можете использовать отладчик кадров Xcode для анализа кадров из вашего приложения, пока оно работает на целевом устройстве.
  • В macOS можно использовать отладчик кадров Xcode для анализа кадров из редактора Unity.

Отладка фреймов работает только в том случае, если приложение работает на платформе и графическом API, поддерживаемом Xcode. Xcode поддерживает только macOS с графикой Metal. Если Unity использует другой API, интеграция Xcode будет отключена, пока вы не выберете поддерживаемый графический API.

Захват кадра из вашего приложения

Чтобы использовать отладчик кадров Xcode для захвата кадра, выполните одно из следующих действий:

  • Запустите приложение из Xcode и либо используйте пользовательский интерфейс Xcode(пользовательский интерфейс). Позволяет пользователю взаимодействовать с вашим приложением. В настоящее время Unity поддерживает три системы пользовательского интерфейса. Подробнее
    См. в Словаре
    или в FrameCapture API для запроса захвата кадров. Вы можете сразу анализировать захваты кадров в Xcode или сохранять их на диск. Этот рабочий процесс поддерживается на всех платформах, использующих Metal.
  • Запустите приложение непосредственно из командной строки без проекта Xcode и используйте API FrameCapture для сохранения снимков кадра на диск. Примечание. Этот рабочий процесс не поддерживается на iOS.

Захват кадра из вашего приложения с помощью Xcode

В этом разделе описывается, как запустить приложение и выполнить захват кадра с помощью пользовательского интерфейса Xcode или API FrameCapture. Этот рабочий процесс поддерживается на всех платформах, использующих Metal.

1. Создайте проект Xcode.

Вы можете либо создать проект Xcode в редакторе Unity, либо использовать любой другой проект Xcode для запуска приложений macOS.

Чтобы создать проект Xcode из редактора Unity:

  1. Откройте окно настроек сборки (Файл > Настройки сборки).
  2. Только для macOS: включите Создать проект Xcode.
  3. Нажмите "Создать".

Чтобы использовать другой проект Xcode для запуска приложений macOS:

  1. В Xcode создайте новый пустой проект macOS или откройте существующий проект macOS.
  2. Выберите Продукт > Схема > Изменить схему и откройте вкладку Информация.
  3. Настройте Executable для созданного вами приложения Unity.

2. Отредактируйте схему проекта Xcode, чтобы можно было выполнять захват кадров.

Либо используйте графический интерфейс Xcode. Для этого следуйте руководству по включению захвата кадров в документации Xcode, чтобы установить для графического процессора Frame Capture в схеме проекта установлено значение Metal.

Вы также можете использовать XcScheme API для настройки схемы проекта Xcode, что полезно для автоматизированных сборок. Дополнительную информацию см. в документации по API XcScheme.

3. Запустите проект из Xcode и выполните захват кадра.

В Xcode нажмите кнопку захвата кадра (значок камеры), чтобы захватить следующий кадр данных.

Вы также можете использовать API FrameCapture для захвата кадров из сценария. Информацию об анализе данных захвата кадров в Xcode см. в документации по отладчику кадров Xcode.

Захват кадра из вашего приложения с помощью командной строки

В этом разделе описывается, как запустить приложение из командной строки, выполнить захват кадра с помощью API FrameCapture и сохранить результаты на диск. . Важно! Этот рабочий процесс не поддерживается на iOS. Чтобы выполнить захват кадров на iOS, вы всегда должны запускать приложение из Xcode.

  1. Добавить вызовы FrameCapture.BeginCaptureToFile и EndCapture в свой код, чтобы при необходимости можно было выполнять захват кадров.
  2. Запустите приложение из командной строки со следующим флагом: -enable-metal-capture. Xcode выполняет захват кадров, когда ваш код их запрашивает, и сохраняет результаты в диск.

Информацию о том, как анализировать эти данные в Xcode, см. в документации Apple по отладчику кадров Xcode.

Захват кадра из редактора Unity

В macOS можно использовать отладчик кадров Xcode для анализа кадров из редактора Unity. Если вы используете Xcode для запуска редактора Unity, вы можете запросить захват кадров из пользовательского интерфейса редактора Unity.

Захват кадра из редактора Unity с помощью Xcode

В этом разделе описывается, как запустить редактор Unity из Xcode и выполнить захват кадра с помощью пользовательского интерфейса редактора Unity, пользовательского интерфейса Xcode или API FrameCapture. Вы можете сразу проанализировать захват кадра или сохранить результаты на диск. Этот рабочий процесс поддерживается в macOS.

  1. Если редактор Unity открыт, закройте его.
  2. В Xcode создайте новый пустой проект macOS или откройте существующий проект macOS.
  3. Выберите Продукт > Схема > Изменить схему и откройте вкладку "Информация".
  4. Задайте Executable для редактора Unity.
  5. Следуйте руководству по включению захвата кадров в документации Xcode, чтобы настроить свой проект для параметра GPU Frame Capture в схеме установлено значение Metal.
  6. Запустите проект Xcode, чтобы запустить редактор Unity.
  7. Выполните захват кадра либо с помощью пользовательского интерфейса редактора Unity, пользовательского интерфейса Xcode, либо с помощью скрипта:
    • Редактор Unity: используйте кнопку Xcode Capture справа от SceneСцена содержит окружение и меню вашей игры. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее
      Смотрите в представлении Словарь
      или в игровом представлении, чтобы выполнить захват кадра.
    • Xcode: нажмите кнопку Захват кадра (значок камеры), чтобы захватить следующий кадр данных.
    • Сценарий. Используйте API FrameCapture. Дополнительную информацию см. в документации по FrameCapture API.

Информацию об анализе данных захвата кадров в Xcode см. в документации Apple по отладчику кадров Xcode. .

Захват кадра из редактора Unity с помощью командной строки

Этот рабочий процесс описывает, как запустить редактор Unity из командной строки, использовать API FrameCapture для захвата кадра и сохранить его. захват на диск. Этот рабочий процесс поддерживается в macOS.

  1. Добавить вызовы FrameCapture.BeginCaptureToFile и EndCapture в свой код, чтобы при необходимости можно было выполнять захват кадров.
  2. Запустите редактор Unity из командной строки со следующим флагом: -enable-metal-capture. Xcode выполняет захват кадров, когда ваш код их запрашивает, и сохраняет результаты на диск.

Информацию о том, как анализировать эти данные в Xcode, см. в документации по отладчику кадров Xcode.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3