public static LuaProfilerTreeViewItem Create(LuaProfiler.Sample sample, int depth, LuaProfilerTreeViewItem father) { LuaProfilerTreeViewItem mt = objectPool.GetObject(); mt.ResetBySample(sample, depth, father); return(mt); }
public void ResetBySample(LuaProfiler.Sample sample, int depth, LuaProfilerTreeViewItem father) { if (sample != null) { totalMemory = sample.costGC; totalTime = (long)(sample.costTime * 1000000); displayName = sample.name; } else { totalMemory = 0; totalTime = 0; displayName = "root"; } totalCallTime = 1; averageTime = totalTime / totalCallTime; this.id = LuaProfilerTreeView.GetUniqueId(); this.depth = depth; childs.Clear(); if (sample != null) { for (int i = 0, imax = sample.childs.Count; i < imax; i++) { var item = Create(sample.childs[i], depth + 1, this); childs.Add(item); } } this.father = father; _frameCount = Time.frameCount; }
public void AddSample(LuaProfiler.Sample sample) { if (_frameCount == Time.frameCount) { _gc[3] += sample.costGC; frameCalls += sample.oneFrameCall; currentTime += sample.costTime; } else { _gc[0] = _gc[1]; _gc[1] = _gc[2]; _gc[2] = _gc[3]; _gc[3] = sample.costGC; frameCalls = sample.oneFrameCall; currentTime = sample.costTime; } totalMemory += sample.costGC; totalTime += (long)(sample.costTime * 1000000); totalCallTime += sample.oneFrameCall; averageTime = totalTime / totalCallTime; for (int i = 0, imax = sample.childs.Count; i < imax; i++) { LuaProfilerTreeViewItem childItem = null; var sampleChild = sample.childs[i]; if (LuaProfilerTreeView.m_nodeDict.TryGetValue(sampleChild.fullName, out childItem)) { childItem.AddSample(sampleChild); } else { var treeItem = Create(sampleChild, depth + 1, this); childs.Add(treeItem); } } //以下代码只不过为了 gc的显示数值不闪烁 if (_gc[0] == _gc[1] || _gc[0] == _gc[2] || _gc[0] == _gc[3]) { showGC = _gc[0]; } else if (_gc[1] == _gc[2] || _gc[1] == _gc[3]) { showGC = _gc[1]; } else if (_gc[2] == _gc[3]) { showGC = _gc[2]; } else { showGC = _gc[3]; } _frameCount = Time.frameCount; }
public static LuaProfilerTreeViewItem Create(LuaProfiler.Sample sample, int depth, LuaProfilerTreeViewItem father) { var dict = LuaProfilerTreeView.m_nodeDict; LuaProfilerTreeViewItem mt; mt = objectPool.GetObject(); mt.ResetBySample(sample, depth, father); dict.Add(mt.fullName, mt); return(mt); }
private void LoadRootSample(LuaProfiler.Sample sample) { string name = sample.name; for (int i = 0, imax = roots.Count; i < imax; i++) { var item = roots[i]; if (item.Compare(sample)) { item.AddSample(sample); return; } } roots.Add(LuaProfilerTreeViewItem.Create(sample, 0, null)); }
private void LoadRootSample(LuaProfiler.Sample sample) { LuaProfilerTreeViewItem item; string f = sample.fullName; string f1 = sample.fullName; if (m_nodeDict.TryGetValue(sample.fullName, out item)) { item.AddSample(sample); } else { item = LuaProfilerTreeViewItem.Create(sample, 0, null); roots.Add(item); } }
public void AddSample(LuaProfiler.Sample sample) { if (_frameCount == Time.frameCount) { _gc[3] += sample.costGC; frameCalls += sample.oneFrameCall; currentTime += sample.costTime; } else { _gc[0] = _gc[1]; _gc[1] = _gc[2]; _gc[2] = _gc[3]; _gc[3] = sample.costGC; frameCalls = sample.oneFrameCall; currentTime = sample.costTime; } totalMemory += sample.costGC; totalTime += (long)(sample.costTime * 1000000); totalCallTime += sample.oneFrameCall; averageTime = totalTime / totalCallTime; for (int i = 0, imax = sample.childs.Count; i < imax; i++) { childs[i].AddSample(sample.childs[i]); } //以下代码只不过为了 gc的显示数值不闪烁 if (_gc[0] == _gc[1] || _gc[0] == _gc[2] || _gc[0] == _gc[3]) { showGC = _gc[0]; } else if (_gc[1] == _gc[2] || _gc[1] == _gc[3]) { showGC = _gc[1]; } else if (_gc[2] == _gc[3]) { showGC = _gc[2]; } else { showGC = _gc[3]; } _frameCount = Time.frameCount; }
public bool Compare(LuaProfiler.Sample sample) { if (sample == null) { return(false); } if (this.father == null && sample.fahter != null) { return(false); } if (this.father != null && sample.fahter == null) { return(false); } if (this.father != null && sample.fahter != null && this.father.displayName != sample.fahter.name) { return(false); } if (this.displayName != sample.name) { return(false); } if (this.childs.Count != sample.childs.Count) { return(false); } for (int i = 0, imax = sample.childs.Count; i < imax; i++) { var item = sample.childs[i]; if (!this.childs[i].Compare(item)) { return(false); } } return(true); }