public void Clear() { if (m_FrameDataView == null) { return; } m_FrameDataView.Dispose(); m_FrameDataView = null; m_RowsPool.Clear(); m_ChildrenPool.Clear(); m_ReusableVisitList.Clear(); m_ReusableChildrenIds.Clear(); m_TreeTraversalStatePool.Clear(); Reload(); }
public HierarchyFrameDataView GetFrameDataView(string threadName, HierarchyFrameDataView.ViewModes viewMode, int profilerSortColumn, bool sortAscending) { var frameIndex = GetActiveVisibleFrameIndex(); var threadIndex = 0; using (var frameIterator = new ProfilerFrameDataIterator()) { var threadCount = frameIterator.GetThreadCount(frameIndex); for (var i = 0; i < threadCount; ++i) { frameIterator.SetRoot(frameIndex, i); var grp = frameIterator.GetGroupName(); var thrd = frameIterator.GetThreadName(); var name = string.IsNullOrEmpty(grp) ? thrd : grp + "." + thrd; if (threadName == name) { threadIndex = i; break; } } } if (m_FrameDataView != null && m_FrameDataView.valid) { if (m_FrameDataView.frameIndex == frameIndex && m_FrameDataView.threadIndex == threadIndex && m_FrameDataView.viewMode == viewMode) { return(m_FrameDataView); } } if (m_FrameDataView != null) { m_FrameDataView.Dispose(); } m_FrameDataView = new HierarchyFrameDataView(frameIndex, threadIndex, viewMode, profilerSortColumn, sortAscending); return(m_FrameDataView); }