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

FrameTimingManager.GetLatestTimings

Declaration

public static uint GetLatestTimings(uint numFrames, FrameTiming[] timings);

Параметры

Параметр Описание
numFrames Пользователь предоставляет желаемое количество кадров, для которых он хочет FrameTimings. Это должно быть равно или меньше максимального FrameTimings, которое платформа может захватить.
Время Массив структур FrameTiming, который передается пользователем и будет заполнен данными по запросу. Задача пользователя — убедиться, что переданный массив достаточно большой, чтобы вместить запрашиваемое количество структур FrameTimings.

Возвращаемое значение

УИНТ Возвращает количество FrameTimings, которое ему удалось получить. Это всегда будет равно или меньше запрошенного numFrames в зависимости от наличия захваченного FrameTimings.

Описание

Позволяет пользователю получить доступ к текущему записанному FrameTimings.

Заполняет массив, предоставленный пользователем, запрошенным количеством FrameTimings, предполагая, что их достаточно с момента последнего вызова CaptureFrameTimings. Массив заполняется с самого начала самыми последними завершенными кадрами FrameTimings и работает назад. Таким образом, элемент 0 возвращаемого массива будет содержать данные последнего полностью завершенного кадра. В зависимости от платформы, максимальное количество кадров, которые будут захвачены, будет варьироваться, и он никогда не может возвращать больше, чем его максимум.

using Unity.Profiling;
using UnityEngine;

public class ExampleScript : MonoBehaviour { FrameTiming[] m_FrameTimings = new FrameTiming[10];

void Update() { // Instruct FrameTimingManager to collect and cache information FrameTimingManager.CaptureFrameTimings();

// Read cached information about N last frames (10 in this example) // The returned value tells how many frames are actually returned. // Element 0 of the returned array contains the data for the last fully finished frame. var ret = FrameTimingManager.GetLatestTimings((uint)m_FrameTimings.Length, m_FrameTimings); if (ret > 0) { // Your code logic here } } }