Version: 2022.1

Profiler.BeginThreadProfiling

切换到手册
public static void BeginThreadProfiling (string threadGroupName, string threadName);

参数

threadGroupName 线程所属的线程组的名称。
threadName 线程的名称。

描述

在调用此方法的线程上启用性能分析。

使线程在性能分析器时间轴视图中与其注册名称一同显示,并显示线程上每个样本的持续时间。 跨帧边界的样本会被切片并且可能为多个帧贡献时间。

注意: 针对 Unity 内部线程(例如主线程、渲染线程或作业系统线程)调用此方法无效。

using UnityEngine;
using UnityEngine.Profiling;
using System.Threading;

public class ExampleClass : MonoBehaviour { CustomSampler sampler; void Start() { sampler = CustomSampler.Create("MyCustomSampler"); var thread = new Thread(MyThreadFunc) { IsBackground = true }; thread.Start(); }

void MyThreadFunc() { Profiler.BeginThreadProfiling("My threads", "My thread 1"); // Now samples will show up in the profiler timeline view for (int i = 0; i < 10; i++) { sampler.Begin(); // ... sampler.End(); }

// Unregister the thread before exit Profiler.EndThreadProfiling(); } }

注意: 应始终在线程销毁之前调用 Profiler.EndThreadProfiling 来释放内部资源。

另请参阅:Profiler.EndThreadProfilingCustomSampler