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

ProfilerMarkerDataType.String16

Описание

Показывает, что ProfilerMarkerData.Ptr указывает на символ char*.

Используйте String16 для передачи строковых данных в ProfilerUnsafeUtility.BeginSampleWithMetadata.

Примечание: Размер строки должен быть установлен в байтах, включая нулевого терминатора.

using System.Diagnostics;
using System.Runtime.CompilerServices;
using Unity.Profiling;
using Unity.Profiling.LowLevel;
using Unity.Profiling.LowLevel.Unsafe;

public static class ProfilerMarkerExtension { [MethodImpl(MethodImplOptions.AggressiveInlining)] [Conditional("ENABLE_PROFILER")] public static unsafe void Begin(this ProfilerMarker marker, string metadata) { var data = new ProfilerMarkerData(); data.Type = (byte)ProfilerMarkerDataType.String16; fixed(char* c = metadata) { data.Size = ((uint)metadata.Length + 1) * 2; data.Ptr = c; ProfilerUnsafeUtility.BeginSampleWithMetadata(marker.Handle, 1, &data); } } }