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

Profiler.EmitFrameMetaData

Declaration

public static void EmitFrameMetaData(Guid id, int tag, Array data);
public static void EmitFrameMetaData(Guid id, int tag, List<T> data);
public static void EmitFrameMetaData(Guid id, int tag, NativeArray<T> data);

Параметры

Параметр Описание
Идентификатор Идентификатор модуля. Используется для разграничения потоков метаданных между различными плагинами, пакетами или модулями.
метка Индекс потока данных.
данные Двоичные данные.

Описание

Запись метаданных, связанных с текущим кадром, в поток Profiler.

Используйте EmitFrameMetaData для записи произвольных двоичных данных в поток профиля. Данные должны содержать только blittable типы.

using System;
using System.Diagnostics;
using Unity.Collections;
using UnityEngine;
using UnityEngine.Profiling;

public class Example { public struct TextureInfo { public int format; public int w; public int h; }

public static readonly Guid MyProjectId = new Guid("7E1DEA84-51F1-477A-82B5-B5C57AC1EBF7"); public static readonly int TextureInfoTag = 0; public static readonly int TextureDataTag = 1;

[Conditional("ENABLE_PROFILER")] public void EmitTextureToProfilerStream(Texture2D t) { if (!Profiler.enabled) return; TextureInfo textureInfo = new TextureInfo() { format = (int)t.format, w = t.width, h = t.height }; NativeArray<byte> textureData = t.GetRawTextureData<byte>(); Profiler.EmitFrameMetaData(MyProjectId, TextureInfoTag, new[] { textureInfo }); Profiler.EmitFrameMetaData(MyProjectId, TextureDataTag, textureData); } }

Примечание:
Запись больших кусков данных может увеличить Profiler's накладные расходы и использование памяти. Всегда проверяйте, Profiler является enabled перед генерацией данных. Когда это возможно, записывайте данные небольшими кусками, чтобы уменьшить использование памяти.

Дополнительные ресурсы: FrameDataView.GetFrameMetaData.