Описание
Предоставляет доступ к данным 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 | Возвращает имя метода и информацию о местоположении для указанного адреса метода. |

