RawFrameDataView
класс в UnityEditor.Profiling
Наследуется от:Profiling.FrameDataView
Описание
Обеспечивает доступ к данным Profiler для конкретного кадра и потока.
Использование RawFrameDataView для получения неструктурированных данных образцов 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; } }
Дополнительные ресурсы: ,FrameDataView,, ,HierarchyFrameDataView,.
Статические свойства
| Свойство | Описание |
|---|---|
| invalidSampleIndex | Эта константа определяет индекс выборки, который не соответствует ни одному действительному Profiler выборке. |
Открытые методы
| Метод | Описание |
|---|---|
| GetFlowEvents | Получает все события потока для текущего кадра и потока. |
| GetSampleCallstack | Получает стек вызовов, связанный с указанным образцом. |
| GetSampleCategoryIndex | Получает категорию маркера Profiler для конкретной выборки. |
| GetSampleChildrenCount | Получает количество дочерних выборок для конкретной выборки. |
| GetSampleChildrenCountRecursive | Получает количество прямых и косвенных дочерних выборок для конкретной выборки. |
| GetSampleFlags | Получает флаги маркеров Profiler для конкретного образца. |
| GetSampleFlowEvents | Получает события потока, происходящие из конкретной выборки. |
| GetSampleMarkerId | Получает идентификатор маркера Profiler, который уникально идентифицирует имя образца. |
| GetSampleMetadataAsDouble | Получает значение метаданных образца как двойное. |
| GetSampleMetadataAsFloat | Получает образец метаданных в виде числа с плавающей запятой. |
| GetSampleMetadataAsInt | Получает значение метаданных образца в виде целого числа. |
| GetSampleMetadataAsLong | Возвращает значение метаданных сэмпла в формате long. |
| GetSampleMetadataAsSpan | Возвращает Span<T> представление метаданных образца. |
| GetSampleMetadataAsString | Получает значение метаданных образца в виде строки. |
| GetSampleMetadataCount | Получение количества метаданных, связанных с конкретной выборкой. |
| GetSampleName | Получает имя конкретного образца. |
| GetSampleStartTimeMs | Получает время начала выборки. Время выражается в миллисекундах. |
| GetSampleStartTimeNs | Получает время начала выборки. Время выражается в наносекундах. |
| GetSampleTimeMs | Получает продолжительность выборки. Время выражается в миллисекундах. |
| GetSampleTimeNs | Получает продолжительность образца. Время выражается в наносекундах. |
Унаследованные члены 3
Статические свойства
| Свойство | Описание |
|---|---|
| invalidMarkerId | Идентификатор недействительного маркера. |
| invalidThreadId | Эта константа определяет идентификатор потока, который не соответствует никакому действительному идентификатору потока. |
| invalidThreadIndex | Эта константа определяет индекс потока, который не соответствует никакому действительному индексу потока. |
Свойства
| Свойство | Описание |
|---|---|
| frameFps | Текущее количество кадров в секунду (FPS) для кадра. |
| frameGpuTimeMs | Количество времени кадра GPU в миллисекундах. |
| frameGpuTimeNs | Количество времени кадра GPU в наносекундах. |
| frameIndex | Индекс кадра для FrameDataView. |
| frameStartTimeMs | Время начала кадра CPU в миллисекундах. |
| frameStartTimeNs | Время начала кадра CPU в наносекундах. |
| frameTimeMs | Количество времени кадра CPU в миллисекундах. |
| frameTimeNs | Количество времени кадра CPU в наносекундах. |
| maxDepth | Максимальные уровни дочерних выборок в данных потока. |
| sampleCount | Количество образцов в кадре для потока. |
| threadGroupName | Имя группы, к которой относится поток. |
| threadId | Постоянный идентификатор, связанный с потоком. |
| threadIndex | Индекс потока в текущем кадре. |
| threadName | Имя потока. |
| valid | True после того, как данные кадра для потока были обработаны и готовы для извлечения. |
Открытые методы
| Метод | Описание |
|---|---|
| GetAllCategories | Получает все доступные Profiler Категории для текущей сессии профилирования. |
| GetCategoryInfo | Получает информацию о категории Profiler для данной категории ID. |
| GetCounterValueAsDouble | Получает последнее значение маркера счетчика в кадре в качестве двойного типа данных '. |
| GetCounterValueAsFloat | Получает последнее значение маркера счетчика в кадре в качестве типа данных float'. |
| GetCounterValueAsInt | Получает последнее значение маркера счетчика в кадре в качестве типа данных int'. |
| GetCounterValueAsLong | Получает последнее значение маркера счетчика в кадре в качестве типа данных long. |
| GetCounterValuePtr | Получает небезопасный указатель на последнее значение маркера счетчика в кадре. |
| GetFrameMetaData | Получает метаданные, связанные с кадром. |
| GetFrameMetaDataCount | Получает общее число кусочков метаданных для каждой пары id и тег в кадре. |
| GetGfxResourceInfo | Получает информацию для заданного идентификатора ресурса графики. |
| GetMarkerCategoryIndex | Получает категорию маркера Profiler для определенного идентификатора маркера. |
| GetMarkerFlags | Получает флаги маркера Profiler для определенного идентификатора маркера. |
| GetMarkerId | Получить идентификатор маркеров Profiler для конкретного имени. |
| GetMarkerMetadataInfo | Получает информацию о метаданных маркера Profiler для определенного идентификатора маркера. |
| GetMarkerName | Получает имя маркера Profiler для определенного идентификатора маркера. |
| GetMarkers | Получает все доступные метки для текущего сеанса профилирования. |
| GetSessionMetaData | Получает метаданные сессии, в которой произошел этот кадр, как NativeArray. |
| GetSessionMetaDataCount | Получает общее количество кусочков метаданных для каждой пары id и тега в сессии Profiler. |
| GetUnityObjectInfo | Получает информацию UnityEngine.Object для заданного экземпляра ID. |
| GetUnityObjectNativeTypeInfo | Получает информацию типа Unity. |
| GetUnityObjectNativeTypeInfoCount | Возвращает нативные типы, учитываемые при захвате. |
| HasCounterValue | Возвращает true для маркера, который включает счетчик в активном кадре. |
| ResolveMethodInfo | Возвращает имя метода и сведения о расположении для указанного адреса метода. |