版本:Unity 6 (6000.0)
语言:英语
获取帧时序数据
帧时序管理器的故障排除

记录帧时序数据

您可以使用 ProfilerRecorder API 读取 FrameTimingManager 的值,而不是使用 FrameTimingManager C# API。这样做的好处是,当您使用 ProfilerRecorder API 时,FrameTimingManager 仅在您将记录器附加到特定计数器时才记录值。这种行为使您可以控制哪些计数器收集数据,从而减少 FrameTimingManager 对性能的影响。

以下示例演示了如何使用 ProfilerRecordAPI 跟踪仅 CPU 主线程帧时间变量。


using Unity.Profiling;

using UnityEngine;

public class ExampleScript : MonoBehaviour

{

    string statsText;

    ProfilerRecorder mainThreadTimeRecorder;

    void OnEnable()

    {
        mainThreadTimeRecorder = ProfilerRecorder.StartNew(ProfilerCategory.Internal, "CPU Main Thread Frame Time");
    }

    void OnDisable()

    {
        mainThreadTimeRecorder.Dispose();
    }

    void Update()

    {

        var frameTime = mainThreadTimeRecorder.LastValue;

        // Your code logic here

    }
}

获取帧时序数据
帧时序管理器的故障排除