Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

RawFrameDataView.GetSampleMarkerId

Объявление

public int GetSampleMarkerId(int sampleIndex);

Параметры

sampleIndex Индекс образца Profiler.

Возвращает

int Возвращает идентификатор маркера Profiler. Возвращает invalidMarkerId для недопустимого индекса.

Описание

Получает идентификатор маркера Profiler, который однозначно идентифицирует имя образца.

Профилировщик использует уникальный идентификатор для каждого маркера, созданного во время сеанса профилирования. Маркер может генерировать множество образцов, которые можно получить с помощью RawFrameDataView. Все образцы, сгенерированные одним и тем же маркером, имеют одинаковый целочисленный идентификатор маркера и одно и то же имя.

Идентификаторы маркеров сохраняются на протяжении всего сеанса профилирования.

using System; using Unity.Collections; using UnityEditor.Profiling; using UnityEditorInternal; using UnityEngine; using UnityEngine.Profiling; public class Example { public static long GetGCAllocs(int frameIndex) { long totalGcAllocSize = 0; int gcAllocMarkerId = FrameDataView.invalidMarkerId; for (int threadIndex = 0;; ++threadIndex) { using (RawFrameDataView frameData = ProfilerDriver.GetRawFrameDataView(frameIndex, threadIndex)) { if (!frameData.valid) break; if (gcAllocMarkerId == FrameDataView.invalidMarkerId) { gcAllocMarkerId = frameData.GetMarkerId("GC.Alloc"); if (gcAllocMarkerId == FrameDataView.invalidMarkerId) break; } int sampleCount = frameData.sampleCount; for (int i = 0; i < sampleCount; ++i) { if (gcAllocMarkerId != frameData.GetSampleMarkerId(i)) continue; long gcAllocSize = frameData.GetSampleMetadataAsLong(i, 0); totalGcAllocSize += gcAllocSize; } } } return totalGcAllocSize; } }

Смотрите так же: GetSampleName, FrameDataView.GetMarkerId, FrameDataView.GetMarkerName.

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
API скрипты 2021.3