版本: Unity 6 (6000.0)
语言英语
  • C#

HierarchyFrameDataView

UnityEditor.Profiling 中的类

/

继承自:Profiling.FrameDataView

建议更改

成功!

感谢您帮助我们改进 Unity 文档的质量。虽然我们不能接受所有提交内容,但我们确实会阅读用户提出的每项建议更改,并在适当时进行更新。

关闭

提交失败

由于某些原因,您的建议更改无法提交。请 <a>稍后再试</a>。感谢您抽出时间帮助我们改进 Unity 文档的质量。

关闭

取消

描述

提供对特定帧和线程的 Profiler 数据的访问。

使用 HierarchyFrameDataView 以层次结构形式检索 Profiler 样本。
例如,这在 CPU 使用率 Profiler层次结构模式 中使用。

HierarchyFrameDataView 使用时间和内存信息聚合数据。每个层次结构项都包含其子级的累积数据。

using System;
using System.Collections.Generic;
using UnityEditor.Profiling;
using UnityEditorInternal;

public class Example { List<int> parentsCacheList = new List<int>(); List<int> childrenCacheList = new List<int>();

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样本中托管分配的数量。
columnNameProfiler 样本名称列。
columnObjectName对象名称列。
columnSelfPercentUnity 在样本本身(不包括子样本的时间)中花费的 CPU 时间的百分比。
columnSelfTimeUnity 在样本本身(不包括子样本的时间)中花费的 CPU 时间(以毫秒为单位)。
columnStartTime调用的开始时间(以毫秒为单位)。
columnTotalPercentUnity 在样本(包括子样本的时间)中花费的 CPU 时间的百分比。
columnTotalTimeUnity 在样本(包括子样本的时间)中花费的 CPU 时间(以毫秒为单位)。
columnWarningCount位于性能不佳的代码执行路径中的样本数量。
invalidSampleId无效项的索引。

属性

sortColumn定义排序列的列标识符。
sortColumnAscending排序顺序是升序(true)还是降序(false)。
viewMode定义数据聚合方式的视图模式。

公共方法

GetItemAncestors检索层次结构项祖先的列表。
GetItemCallstack获取与指定层次结构项关联的调用堆栈。
GetItemCategoryIndex获取特定标记标识符的 Profiler 标记类别。
GetItemChildren检索层次结构项子级的列表。
GetItemColumnData返回与列关联的层次结构项值的字符串表示形式。
GetItemColumnDataAsDouble返回与列关联的层次结构项值的双精度表示形式。
GetItemColumnDataAsFloat返回与列关联的层次结构项值的浮点表示形式。
GetItemColumnDataAsSingle返回与列关联的层次结构项值的浮点表示形式。
GetItemDepth返回项目的层次结构级别。
GetItemDescendantsThatHaveChildren用于检索具有其他子级的层次结构项后代的列表。
GetItemInstanceID返回与样本关联的 UnityEngine.Object 的 InstanceID。
GetItemMarkerFlags用于检索标记使用标志。
GetItemMarkerID返回唯一标识样本名称的 Profiler 标记。
GetItemMarkerIDPath用于检索所有层次结构项父级的标记标识符列表。
GetItemMergedSampleCallstack获取与指定层次结构项关联的调用堆栈。
GetItemMergedSamplesColumnData用于检索层次结构项的合并样本的值。
GetItemMergedSamplesColumnDataAsDoubles检索特定层次结构项的合并样本。合并样本作为双精度数列表通过 outValues 参数返回。
GetItemMergedSamplesColumnDataAsFloats检索特定层次结构项的合并样本。合并样本作为浮点数列表通过 outValues 参数返回。
GetItemMergedSamplesCount返回层次结构项表示的合并样本计数。
GetItemMergedSamplesInstanceID检索与层次结构项对应的合并样本的 InstanceID。
GetItemMergedSamplesMetadata返回层次结构项元数据值的字符串表示形式。
GetItemMergedSamplesMetadataAsFloat返回层次结构项元数据值的浮点表示形式。
GetItemMergedSamplesMetadataAsLong返回层次结构项元数据值的 long 表示形式。
GetItemMergedSamplesMetadataCount返回与层次结构项关联的元数据计数。
GetItemMetadata返回层次结构项元数据值的字符串表示形式。
GetItemMetadataAsFloat返回层次结构项元数据值的浮点表示形式。
GetItemMetadataAsLong返回层次结构项元数据值的 long 表示形式。
GetItemMetadataCount返回与层次结构项关联的元数据计数。
GetItemName获取与项目关联的样本名称。
GetItemPath检索层次结构项路径作为字符串。每个级别都以斜杠 (/) 分隔。
GetItemRawFrameDataViewIndices检索与该层次结构项标识符关联的所有样本的原始索引。
GetRootItemID获取根树项的标识符。
HasItemChildren检查树项是否具有子级。
ItemContainsRawFrameDataViewIndex检查提供的原始样本索引是否与与该层次结构项标识符关联的任何原始样本索引匹配。
ResolveItemCallstack获取与指定层次结构项关联的调用堆栈。
ResolveItemMergedSampleCallstack获取与特定项目样本关联的调用堆栈。
Sort对层次结构视图进行排序。

继承的成员

静态属性

invalidMarkerId无效标记的标识符。
invalidThreadId此常量定义与任何有效线程的 ID 不匹配的线程 ID。
invalidThreadIndex此常量定义与任何有效线程的索引不匹配的线程索引。

属性

frameFps帧的当前帧率 (FPS)。
frameGpuTimeMsGPU 帧时间(以毫秒为单位)。
frameGpuTimeNsGPU 帧时间(以纳秒为单位)。
frameIndexFrameDataView 的帧索引。
frameStartTimeMsCPU 帧的开始时间(以毫秒为单位)。
frameStartTimeNsCPU 帧的开始时间(以纳秒为单位)。
frameTimeMsCPU 帧时间(以毫秒为单位)。
frameTimeNsCPU 帧时间(以纳秒为单位)。
maxDepth线程数据中的最大子样本级别。
sampleCount线程的帧中的样本数量。
threadGroupName线程所属组的名称。
threadId与线程关联的持久标识符。
threadIndex当前帧中线程的索引。
threadName线程的名称。
valid在处理完线程的帧数据并准备检索后为真。

公共方法

GetAllCategories获取当前性能分析会话中所有可用的 Profiler 类别。
GetCategoryInfo获取给定类别 ID 的 Profiler 类别信息。
GetCounterValueAsDouble获取帧中计数器标记的最后一个值,以双精度数据类型表示。
GetCounterValueAsFloat获取帧中计数器标记的最后一个值,以浮点数据类型表示。
GetCounterValueAsInt获取帧中计数器标记的最后一个值,以 int 数据类型表示。
GetCounterValueAsLong获取帧中计数器标记的最后一个值,以 long 数据类型表示。
GetCounterValuePtr获取指向帧中计数器标记的最后一个值的非安全指针。
GetFrameMetaData检索与帧关联的元数据。
GetFrameMetaDataCount获取帧中每个 ID 和标签对的元数据块总数。
GetGfxResourceInfo获取给定图形资源标识符的信息。
GetMarkerCategoryIndex获取特定标记标识符的 Profiler 标记类别。
GetMarkerFlags获取特定标记标识符的 Profiler 标记标志。
GetMarkerId获取特定名称的 Profiler 标记标识符。
GetMarkerMetadataInfo获取特定标记标识符的 Profiler 标记元数据信息。
GetMarkerName获取特定标记标识符的 Profiler 标记名称。
GetMarkers获取当前性能分析会话中所有可用的标记。
GetSessionMetaData检索此帧所在的会话的元数据作为 NativeArray。
GetSessionMetaDataCount获取 Profiler 会话中每个 ID 和标签对的元数据块总数。
GetUnityObjectInfo获取给定 Instance ID 的 UnityEngine.Object 信息。
GetUnityObjectNativeTypeInfo获取本机 Unity 类型信息。
GetUnityObjectNativeTypeInfoCount返回捕获中的本机类型计数。
HasCounterValue对于在活动帧中包含计数器的标记返回 true。
ResolveMethodInfo返回指定方法地址的方法名称和位置信息。