Объявление
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.EndThreadProfiling, CustomSampler.