public static CPUElement Create(UnityEditorInternal.ProfilerProperty root) { allCPUEle = new List <CPUElement>(); if (allCPUEle == null) { return(null); } if (root == null) { return(null); } CPUElement rootEle = new CPUElement() { FunctionName = root.propertyName, TotalPercent = root.GetColumn(ProfilerColumn.TotalPercent), SelfPercent = root.GetColumn(ProfilerColumn.SelfPercent), Calls = root.GetColumn(ProfilerColumn.Calls), GCMemory = root.GetColumn(ProfilerColumn.GCMemory), TotalTime = root.GetColumn(ProfilerColumn.TotalTime), SelfTime = root.GetColumn(ProfilerColumn.SelfTime), RelatedObjName = root.GetColumn(ProfilerColumn.ObjectName), Depth = root.depth }; if (allCPUEle != null) { allCPUEle.Add(rootEle); } while (root.Next(root.HasChildren)) { CPUElement ele = new CPUElement() { FunctionName = root.propertyName, TotalPercent = root.GetColumn(ProfilerColumn.TotalPercent), SelfPercent = root.GetColumn(ProfilerColumn.SelfPercent), Calls = root.GetColumn(ProfilerColumn.Calls), GCMemory = root.GetColumn(ProfilerColumn.GCMemory), TotalTime = root.GetColumn(ProfilerColumn.TotalTime), SelfTime = root.GetColumn(ProfilerColumn.SelfTime), RelatedObjName = root.GetColumn(ProfilerColumn.ObjectName), Depth = root.depth }; if (allCPUEle != null) { allCPUEle.Add(ele); } } SetChildren(); return(rootEle); }
/// <summary> /// 获取GPU数据,返回根元素 /// </summary> /// <param name="writer"></param> /// <returns></returns> public static CPUElement GetCPUDetail(StreamWriter writer) { if (IsWindowEmpty()) { return(null); } if (IsPropertyEmpty()) { return(null); } return(CPUElement.Create(CPUOrGPUproperty)); }
/// <summary> /// 从跟打印所有CPU数据 /// </summary> /// <param name="writer"></param> /// <param name="root"></param> public static void WriteCPU(StreamWriter writer, CPUElement root) { if (root == null) { return; } writer.WriteLine(root.ToString()); if (root.children == null) { return; } foreach (var child in root.children) { WriteCPU(writer, child); } }