You can get frame timing data from the FrameTiming API in the following ways:
To get frame timing data from release builds, you must first enable the Frame Timing Stats property.
To view frame timing data in a custom Profiler module perform the following steps:
FrameTimingStats property enables. You can then click on the relevant counters in the submenu to add them to your custom module.For a list of available counters, refer to Profiler counters reference.
The Highlights Profiler module uses FrameTiming to determine whether a frame is CPU or GPU bound.
Use the FrameTiming API to access timestamp information. In each variable, FrameTimingManager records the time a specific event happens during a frame.
The following table contains the values available through the API, in the order that Unity executes them during a frame:
| Property | Description |
|---|---|
frameStartTimestamp |
The CPU timestamp time when the frame begins. |
firstSubmitTimestamp |
The CPU timestamp time when Unity submits the first job to the GPU during this frame. |
cpuTimePresentCalled |
The CPU timestamp time when Unity calls the Present() function for the current frame. |
cpuTimeFrameComplete |
The CPU timestamp time when the GPU finishes rendering the frame and interrupts the CPU. |
Use FrameTimingManager.GetCpuTimerFrequency API to convert the timestamp to seconds.