Описание
Предоставляет доступ к данным Profiler для определенного кадра и потока.
Используйте HierarchyFrameDataView для извлечения образцов Profiler, структурированных в виде иерархии.
Это используется, например, в режиме иерархии профилировщика использования ЦП.
HierarchyFrameDataView объединяет данные с информацией о времени и памяти. Каждый элемент иерархии включает накопленные данные своих дочерних элементов.
using System;
using System.Collections.Generic;
using UnityEditor.Profiling;
using UnityEditorInternal;
public class Example
{
List parentsCacheList = new List();
List childrenCacheList = new List();
public void ProcessFrameData(int frame)
{
using (var frameData = ProfilerDriver.GetHierarchyFrameDataView(frame, 0, HierarchyFrameDataView.ViewModes.Default, HierarchyFrameDataView.columnGcMemory, false))
{
int rootId = frameData.GetRootItemID();
frameData.GetItemDescendantsThatHaveChildren(rootId, parentsCacheList);
foreach (int parentId in parentsCacheList)
{
frameData.GetItemChildren(parentId, childrenCacheList);
// Process further records
}
}
}
}
Статические Свойства
columnCalls | Столбец "Вызовы". |
columnDontSort | Идентификатор столбца, указывающий, отключена ли сортировка. |
columnGcMemory | Столбец "Распределение GC". |
columnName | Столбец "Имя образца профилировщика". |
columnObjectName | Столбец "Имя объекта". |
columnSelfPercent | Процент времени, которое ЦП тратит на сам вызов. |
columnSelfTime | Количество времени, которое ЦП тратит на сам вызов. Количество времени выражается в миллисекундах. |
columnStartTime | Время начала вызова в миллисекундах. |
columnTotalPercent | Процент времени, который ЦП проводит в иерархии вызовов. |
columnTotalTime | Количество времени, которое ЦП проводит в иерархии вызовов. Количество времени выражается в миллисекундах. |
columnWarningCount | Количество примеров, находящихся внутри пути выполнения кода, неоптимального с точки зрения производительности. |
invalidSampleId | Индекс недопустимого элемента. |
Свойства
sortColumn | Идентификатор столбца, определяющий столбец сортировки. |
sortColumnAscending | Указывает, является ли порядок сортировки по возрастанию, true, или по убыванию, false. |
viewMode | Режим просмотра, который определяет, как собираются данные. |
Публичные Методы
GetItemAncestors | Получает список предков элементов иерархии. |
GetItemCallstack | Получает стек вызовов, связанный с указанным элементом иерархии. |
GetItemCategoryIndex | Получает категорию маркера Profiler для определенного идентификатора маркера. |
GetItemChildren | Получает список дочерних элементов иерархии. |
GetItemColumnData | Возвращает строковое представление значения элемента иерархии, связанного со столбцом. |
GetItemColumnDataAsDouble | Возвращает двойное представление значения элемента иерархии, связанного со столбцом. |
GetItemColumnDataAsFloat | Возвращает плавающее представление значения элемента иерархии, связанного со столбцом. |
GetItemColumnDataAsSingle | Возвращает плавающее представление значения элемента иерархии, связанного со столбцом. |
GetItemDepth | Возвращает уровень иерархии элемента. |
GetItemDescendantsThatHaveChildren | Используйте для получения списка потомков элемента иерархии, у которых есть другие дочерние элементы. |
GetItemInstanceID | Возвращает InstanceID объекта UnityEngine.Object, связанного с образцом. |
GetItemMarkerFlags | Используйте для получения флагов использования маркера. |
GetItemMarkerID | Возвращает маркер Profiler, который однозначно идентифицирует имя образца. |
GetItemMarkerIDPath | Используйте для получения списка идентификаторов маркеров всех родительских элементов иерархии. |
GetItemMergedSampleCallstack | Получает стек вызовов, связанный с указанным элементом иерархии. |
GetItemMergedSamplesColumnData | Используйте для извлечения значений объединенных образцов элемента иерархии. |
GetItemMergedSamplesColumnDataAsDoubles | Извлекает объединенные образцы для определенного элемента иерархии. Объединенные выборки возвращаются в виде списка двойников через параметр outValues. |
GetItemMergedSamplesColumnDataAsFloats | Извлекает объединенные образцы для определенного элемента иерархии. Объединенные выборки возвращаются в виде списка с плавающей запятой через параметр outValues. |
GetItemMergedSamplesCount | Возвращает количество объединенных образцов, представленное элементом иерархии. |
GetItemMergedSamplesInstanceID | Получает instanceID объединенных образцов, соответствующих элементу иерархии. |
GetItemMergedSamplesMetadata | Возвращает строковое представление значения метаданных элемента иерархии. |
GetItemMergedSamplesMetadataAsFloat | Возвращает плавающее представление значения метаданных элемента иерархии. |
GetItemMergedSamplesMetadataAsLong | Возвращает длинное представление значения метаданных элемента иерархии. |
GetItemMergedSamplesMetadataCount | Возвращает количество метаданных, связанных с элементом иерархии. |
GetItemMetadata | Возвращает строковое представление значения метаданных элемента иерархии. |
GetItemMetadataAsFloat | Возвращает плавающее представление значения метаданных элемента иерархии. |
GetItemMetadataAsLong | Возвращает длинное представление значения метаданных элемента иерархии. |
GetItemMetadataCount | Возвращает количество метаданных, связанных с элементом иерархии. |
GetItemName | Получает образец имени, связанного с элементом. |
GetItemPath | Получает путь к элементу иерархии в виде строки. Каждый уровень разделяется косой чертой ('/'). |
GetRootItemID | Получает идентификатор корневого элемента дерева. |
HasItemChildren | Проверяет, есть ли у элемента дерева дочерние элементы. |
ResolveItemCallstack | Получает стек вызовов, связанный с указанным элементом иерархии. |
ResolveItemMergedSampleCallstack | Получает стек вызовов, связанный с образцом определенного элемента. |
Sort | Сортирует представление иерархии. |
Унаследованные члены
Статические Свойства
invalidMarkerId | Идентификатор недопустимого маркера. |
Свойства
frameFps | Текущие кадры в секунду (FPS) для кадра. |
frameGpuTimeMs | Время кадра графического процессора в миллисекундах. |
frameGpuTimeNs | Количество кадров графического процессора в наносекундах. |
frameIndex | Индекс кадра для FrameDataView. |
frameStartTimeMs | Время начала кадра процессора в миллисекундах. |
frameStartTimeNs | Время начала кадра процессора в наносекундах. |
frameTimeMs | Количество кадров ЦП в миллисекундах. |
frameTimeNs | Время кадра процессора в наносекундах. |
maxDepth | Максимальные уровни дочерних образцов в данных потока. |
sampleCount | Количество выборок в кадре для потока. |
threadGroupName | Имя группы, к которой принадлежит поток. |
threadId | Постоянный идентификатор, связанный с потоком. |
threadIndex | Индекс потока в текущем кадре. |
threadName | Название темы. |
valid | Истинно после того, как данные кадра для потока обработаны и готовы к извлечению. |
Публичные Методы
GetAllCategories | Получает все доступные категории Profiler для текущего сеанса профилирования. |
GetCategoryInfo | Получает информацию о категории Profiler для заданного идентификатора категории. |
GetCounterValueAsDouble | Получает последнее значение маркера счетчика в кадре как двойной тип данных. |
GetCounterValueAsFloat | Получает последнее значение маркера счетчика в кадре как тип данных с плавающей запятой. |
GetCounterValueAsInt | Получает последнее значение маркера счетчика в кадре как тип данных int. |
GetCounterValueAsLong | Получает последнее значение маркера счетчика в кадре в виде длинного типа данных. |
GetCounterValuePtr | Получает небезопасный указатель на последнее значение маркера счетчика в кадре. |
GetFrameMetaData | Извлекает метаданные, связанные с фреймом. |
GetFrameMetaDataCount | Получает общее количество фрагментов метаданных для каждой пары идентификаторов и тегов в кадре. |
GetMarkerCategoryIndex | Получает категорию маркера Profiler для определенного идентификатора маркера. |
GetMarkerFlags | Получает флаги маркеров Profiler для определенного идентификатора маркера. |
GetMarkerId | Получить идентификатор маркера Profiler для определенного имени. |
GetMarkerMetadataInfo | Получает метаданные маркера Profiler для определенного идентификатора маркера. |
GetMarkerName | Получает имя маркера Profiler для определенного идентификатора маркера. |
GetMarkers | Получает все доступные маркеры для текущего сеанса профилирования. |
GetSessionMetaData | Извлекает метаданные сеанса, в котором этот кадр появился как NativeArray. |
GetSessionMetaDataCount | Получает общее количество фрагментов метаданных для каждой пары идентификаторов и тегов в сеансе Profiler. |
HasCounterValue | Возвращает значение true для маркера, который содержит счетчик в активном фрейме. |
ResolveMethodInfo | Возвращает имя метода и информацию о местоположении для указанного адреса метода. |