Unity 6.3
0 онлайн 61 гостей 3 в системе
Вход

ProfilerUnsafeUtility.SetMarkerMetadata

Declaration

public static void SetMarkerMetadata(IntPtr markerPtr, int index, string name, byte type, byte unit);
public static void SetMarkerMetadata(IntPtr markerPtr, int index, char* name, int nameLen, byte type, byte unit);

Параметры

Параметр Описание
markerPtr Profiler ручка маркера.
индекс Индекс параметров метаданных.
имя Имя параметра метаданных.
тип Тип метаданных. Должно быть одним из значений ProfilerMarkerDataType.
единица Единица метаданных. Должно быть одним из значений ProfilerMarkerDataUnit.
nameLen Длина имени параметра метаданных.

Описание

Установить имя и тип метаданных маркера Profiler.

Используйте для добавления дополнительного контекста использования к параметру метаданных образца Profiler.

using Unity.Collections.LowLevel.Unsafe;
using Unity.Profiling;
using Unity.Profiling.LowLevel;
using Unity.Profiling.LowLevel.Unsafe;
using System;

class Example { static IntPtr MakeMarkerWithIntMetadata(string name, string paramName) { var handle = ProfilerUnsafeUtility.CreateMarker(name, ProfilerUnsafeUtility.CategoryScripts, MarkerFlags.Default, 1); ProfilerUnsafeUtility.SetMarkerMetadata(handle, 0, paramName, (byte)ProfilerMarkerDataType.Int32, (byte)ProfilerMarkerDataUnit.Count); return handle; }

static readonly IntPtr markerHandle = MakeMarkerWithIntMetadata("MyMarker", "Work Idx"); static unsafe void DoWork(int num) { var metadata = stackalloc ProfilerMarkerData[1]; metadata[0].Type = (byte)ProfilerMarkerDataType.Int32; metadata[0].Size = (uint)UnsafeUtility.SizeOf<int>(); metadata[0].Ptr = UnsafeUtility.AddressOf(ref num); ProfilerUnsafeUtility.BeginSampleWithMetadata(markerHandle, 1, metadata); //... ProfilerUnsafeUtility.EndSample(markerHandle); } }

Дополнительные ресурсы: ,ProfilerMarkerDataType,, ,ProfilerMarkerDataUnit,.