Unity 6.3
0 онлайн 54 гостей 3 в системе
Вход

Получить данные о времени кадра

Вы можете получить данные о времени кадра из FrameTiming API следующими способами:

Чтобы получить данные о времени кадров из сборок выпуска, сначала необходимо включить свойство Frame Timing Stats.

Используйте пользовательский модуль Profiler

Для просмотра данных о времени кадра в пользовательском модуле Profiler выполните следующие действия:

  1. Создайте пользовательский модуль профилирования в соответствии с инструкциями в Создание пользовательского модуля профилирования.
  2. Откройте Profiler окно (Окно > Анализ > Profiler)
  3. Откройте редактор модулей Profiler (Profler Modules dropdown > зубчатое колесо) и выберите свой модуль Profiler.
  4. В панели Доступные счетчики выберите Unity.
  5. Выберите Render, чтобы открыть подменю, содержащее счетчики Profiler, связанные с использованием памяти, включая те, которые включены свойством FrameTimingStats. Затем вы можете щелкнуть по соответствующим счетчикам в подменю, чтобы добавить их в свой пользовательский модуль.

Список доступных счетчиков см. в Profiler счетчики ссылка.

Модуль Highlights Profiler использует FrameTiming для определения того, связан ли кадр CPU или GPU.

Используйте FrameTiming API

Используйте FrameTiming API для доступа к информации о времени. В каждой переменной FrameTimingManager записывает время, когда произошло определенное событие в течение кадра.

Следующая таблица содержит значения, доступные через API, в порядке, в котором Unity выполняет их во время кадра:

Свойство Описание
frameStartTimestamp Время CPU, когда кадр начинается.
firstSubmitTimestamp Время CPU, когда Unity отправляет первое задание на GPU в течение этого кадра.
cpuTimePresentCalled CPU timestamp время, когда Unity вызывает функцию Present() для текущего кадра.
cpuTimeFrameComplete Время CPU, когда GPU завершает рендеринг кадра и прерывает CPU.

Используйте FrameTimingManager.GetCpuTimerFrequency API для преобразования метки времени в секунды.

Дополнительные ресурсы