版本: Unity 6 (6000.0)
语言英语
  • C#

ProfilerRecorder.GetSample

建议更改

成功!

感谢您帮助我们提高 Unity 文档的质量。虽然我们无法接受所有提交,但我们确实阅读用户提出的每项更改建议,并在适用的情况下进行更新。

关闭

提交失败

由于某种原因,您的建议更改无法提交。请<a>稍后再试</a>。感谢您抽出时间帮助我们提高 Unity 文档的质量。

关闭

取消

声明

public Unity.Profiling.ProfilerRecorderSample GetSample(int index);

描述

获取样本数据。

用于获取样本数据。

using Unity.Profiling;
using UnityEngine;

public class FrameTimeScript : MonoBehaviour { ProfilerRecorder frameTimeRecorder;

void OnEnable() { frameTimeRecorder = ProfilerRecorder.StartNew(ProfilerCategory.Internal, "Main Thread", 30); }

void OnDisable() { frameTimeRecorder.Dispose(); }

double CalculateAverageFromSampleValuesPerFrame(ProfilerRecorder r) { int count = r.Count; double acc = 0; for (var i = 0; i < count; ++i) { acc += r.GetSample(i).Value; } return count > 0 ? acc / count : 0; }

void OnGUI() { GUI.TextArea(new Rect(10, 30, 350, 20), $"Frame time: {CalculateAverageFromSampleValuesPerFrame(frameTimeRecorder) * 1e-6:0.00}ms"); } }