FrameTimingManager の C# API の代わりに ProfilerRecorder API を使用して、FrameTimingManager の値を読み取ることができます。この方法の利点は、ProfilerRecorder API を使用すると、レコーダーを特定のカウンターに設定した時にのみ FrameTimingManager が値を記録することです。この動作のおかげで、どのカウンターがデータを収集するか制御できるようになるため、FrameTimingManager がパフォーマンスに与える影響を抑えることができます。
以下の例は、ProfilerRecordAPI を使用して CPU Main Thread Frame Time 変数のみを追跡する方法を示しています。
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
}
}