id | 层次结构项标识符。 |
column | 列标识符。 |
double 对应列的值(双精度浮点数)。
返回与列关联的层次结构项值的双精度浮点数表示形式。
用于检索具有高精度的列值,例如 HierarchyFrameDataView.columnStartTime,它表示以毫秒为单位的采样开始时间。
using System.Collections.Generic; using UnityEditor; using UnityEditor.Profiling; using UnityEditorInternal;
class Example { static List<int> childrenIdCache = new List<int>();
static int FindChildItemByFunctionName(HierarchyFrameDataView frameData, int parentId, string functionName) { frameData.GetItemChildren(parentId, childrenIdCache); foreach (var childId in childrenIdCache) { var name = frameData.GetItemName(childId); if (name == functionName) return childId; }
return HierarchyFrameDataView.invalidSampleId; }
static double GetSampleStartTime(string sampleName) { using (var frameData = ProfilerDriver.GetHierarchyFrameDataView(ProfilerDriver.lastFrameIndex, 0, HierarchyFrameDataView.ViewModes.Default, HierarchyFrameDataView.columnDontSort, false)) { var sampleId = FindChildItemByFunctionName(frameData, frameData.GetRootItemID(), sampleName); if (HierarchyFrameDataView.invalidSampleId == sampleId) return 0;
double startTime = frameData.GetItemColumnDataAsDouble(sampleId, HierarchyFrameDataView.columnStartTime); return startTime; } } }