internal override void OnEnable() { base.OnEnable(); if (m_NetworkSplit == null || !m_NetworkSplit.IsValid()) { m_NetworkSplit = SplitterState.FromRelative(new[] { 20f, 80f }, new[] { 100f, 100f }, null); } }
public override void OnEnable(IProfilerWindowController profilerWindow) { base.OnEnable(profilerWindow); if (m_NetworkSplit == null || !m_NetworkSplit.IsValid()) { m_NetworkSplit = SplitterState.FromRelative(new[] { 20f, 80f }, new[] { 100f, 100f }, null); } }
void InitIfNeeded() { if (m_Initialized) { return; } if (m_VertSplit == null || !m_VertSplit.IsValid()) { m_VertSplit = SplitterState.FromRelative(new[] { SessionState.GetFloat(spillter0StatePrefKey, 40f), SessionState.GetFloat(spillter1StatePrefKey, 60f) }, new[] { 50f, 50f }, null); } if (m_FrameDataView != null && m_FrameDataView.valid && m_SelectedID >= 0) { var restoredPath = m_FrameDataView.GetItemPath(m_SelectedID); var storedPath = SessionState.GetString(selectedIDpathprefKey, string.Empty); if (restoredPath != storedPath) { m_SelectedID = -1; } } else { m_SelectedID = -1; } if (m_CalleesTreeView == null) { m_CalleesTreeView = new CallsTreeViewController(callsTreePrefKeyPrefix); } m_CalleesTreeView.SetType(CallsTreeView.Type.Callees); m_CalleesTreeView.frameItemEvent += frameItemEvent; if (m_CallersTreeView == null) { m_CallersTreeView = new CallsTreeViewController(calleesTreePrefKey); } m_CallersTreeView.SetType(CallsTreeView.Type.Callers); m_CallersTreeView.frameItemEvent += frameItemEvent; callersAndCalleeData = new ProfilerCallersAndCalleeData(); callersAndCalleeData.profilerSampleNameProvider = profilerSampleNameProvider; m_TotalSelectedPropertyTimeLabel = new GUIContent(); m_Initialized = true; }
public override void OnEnable(IProfilerWindowController profilerWindow) { base.OnEnable(profilerWindow); instance = new WeakReference(this); if (m_ReferenceListView == null) { m_ReferenceListView = new MemoryTreeList(profilerWindow, null); } if (m_MemoryListView == null) { m_MemoryListView = new MemoryTreeListClickable(profilerWindow, m_ReferenceListView); } if (m_ViewSplit == null || !m_ViewSplit.IsValid()) { m_ViewSplit = SplitterState.FromRelative(new[] { EditorPrefs.GetFloat(k_SplitterRelative0SettingsKey, 70f), EditorPrefs.GetFloat(k_SplitterRelative1SettingsKey, 30f) }, k_SplitterMinSizes, null); } m_ShowDetailedMemoryPane = (ProfilerMemoryView)EditorPrefs.GetInt(k_ViewTypeSettingsKey, (int)ProfilerMemoryView.Simple); m_GatherObjectReferences = EditorPrefs.GetBool(k_GatherObjectReferencesSettingsKey, true); }
void InitIfNeeded() { if (m_Initialized) { return; } var cpuHierarchyColumns = new[] { HierarchyFrameDataView.columnName, HierarchyFrameDataView.columnTotalPercent, HierarchyFrameDataView.columnSelfPercent, HierarchyFrameDataView.columnCalls, HierarchyFrameDataView.columnGcMemory, HierarchyFrameDataView.columnTotalTime, HierarchyFrameDataView.columnSelfTime, HierarchyFrameDataView.columnWarningCount }; var gpuHierarchyColumns = new[] { HierarchyFrameDataView.columnName, HierarchyFrameDataView.columnTotalGpuPercent, HierarchyFrameDataView.columnDrawCalls, HierarchyFrameDataView.columnTotalGpuTime }; var profilerColumns = gpuView ? gpuHierarchyColumns : cpuHierarchyColumns; var defaultSortColumn = gpuView ? HierarchyFrameDataView.columnTotalGpuTime : HierarchyFrameDataView.columnTotalTime; var columns = CreateColumns(profilerColumns); var multiColumnHeaderStateData = SessionState.GetString(multiColumnHeaderStatePrefKey, ""); if (!string.IsNullOrEmpty(multiColumnHeaderStateData)) { try { var restoredHeaderState = JsonUtility.FromJson <MultiColumnHeaderState>(multiColumnHeaderStateData); if (restoredHeaderState != null) { m_MultiColumnHeaderState = restoredHeaderState; } } catch {} // Nevermind, we'll just fall back to the default } var headerState = CreateDefaultMultiColumnHeaderState(columns, defaultSortColumn); if (MultiColumnHeaderState.CanOverwriteSerializedFields(m_MultiColumnHeaderState, headerState)) { MultiColumnHeaderState.OverwriteSerializedFields(m_MultiColumnHeaderState, headerState); } var firstInit = m_MultiColumnHeaderState == null; m_MultiColumnHeaderState = headerState; var multiColumnHeader = new ProfilerFrameDataMultiColumnHeader(m_MultiColumnHeaderState, columns) { height = 25 }; if (firstInit) { multiColumnHeader.ResizeToFit(); } multiColumnHeader.visibleColumnsChanged += OnMultiColumnHeaderChanged; multiColumnHeader.sortingChanged += OnMultiColumnHeaderChanged; // Check if it already exists (deserialized from window layout file or scriptable object) if (m_TreeViewState == null) { m_TreeViewState = new TreeViewState(); } m_TreeView = new ProfilerFrameDataTreeView(m_TreeViewState, multiColumnHeader, cpuModule); m_TreeView.selectionChanged += OnMainTreeViewSelectionChanged; m_TreeView.searchChanged += OnMainTreeViewSearchChanged; m_TreeView.Reload(); m_SearchField = new SearchField(); m_SearchField.downOrUpArrowKeyPressed += m_TreeView.SetFocusAndEnsureSelectedItem; if (m_DetailedObjectsView == null) { m_DetailedObjectsView = new ProfilerDetailedObjectsView(detailedObjectsViewPrefKeyPrefix); } m_DetailedObjectsView.gpuView = gpuView; m_DetailedObjectsView.frameItemEvent += FrameItem; if (m_DetailedCallsView == null) { m_DetailedCallsView = new ProfilerDetailedCallsView(detailedCallsViewPrefKeyPrefix); m_DetailedCallsView.profilerSampleNameProvider = cpuModule; } m_DetailedCallsView.frameItemEvent += FrameItem; if (m_DetailedViewSpliterState == null || !m_DetailedViewSpliterState.IsValid()) { m_DetailedViewSpliterState = SplitterState.FromRelative(new[] { SessionState.GetFloat(splitter0StatePrefKey, 70f), SessionState.GetFloat(splitter1StatePrefKey, 30f) }, new[] { 450f, 50f }, null); } if (!m_Serialized) { m_DetailedViewType = (DetailedViewType)SessionState.GetInt(detailedViewTypeStatePrefKey, (int)DetailedViewType.None); } m_Serialized = true; m_Initialized = true; }
void InitIfNeeded() { if (m_Initialized) { return; } if (m_CachedCallstack == null) { m_CachedCallstack = new List <ulong>(); } var cpuDetailColumns = new[] { HierarchyFrameDataView.columnObjectName, HierarchyFrameDataView.columnTotalPercent, HierarchyFrameDataView.columnGcMemory, HierarchyFrameDataView.columnTotalTime }; var gpuDetailColumns = new[] { HierarchyFrameDataView.columnObjectName, HierarchyFrameDataView.columnTotalGpuPercent, HierarchyFrameDataView.columnDrawCalls, HierarchyFrameDataView.columnTotalGpuTime }; var profilerColumns = gpuView ? gpuDetailColumns : cpuDetailColumns; var defaultSortColumn = gpuView ? HierarchyFrameDataView.columnTotalGpuTime : HierarchyFrameDataView.columnTotalTime; var columns = ProfilerFrameDataHierarchyView.CreateColumns(profilerColumns); var headerState = ProfilerFrameDataHierarchyView.CreateDefaultMultiColumnHeaderState(columns, defaultSortColumn); headerState.columns[0].minWidth = 60; headerState.columns[0].autoResize = true; headerState.columns[0].allowToggleVisibility = false; var multiColumnHeaderStateData = SessionState.GetString(multiColumnHeaderStatePrefKey, ""); if (!string.IsNullOrEmpty(multiColumnHeaderStateData)) { try { var restoredHeaderState = JsonUtility.FromJson <MultiColumnHeaderState>(multiColumnHeaderStateData); if (restoredHeaderState != null) { m_MultiColumnHeaderState = restoredHeaderState; } } catch {} // Nevermind, we'll just fall back to the default } if (MultiColumnHeaderState.CanOverwriteSerializedFields(m_MultiColumnHeaderState, headerState)) { MultiColumnHeaderState.OverwriteSerializedFields(m_MultiColumnHeaderState, headerState); } var firstInit = m_MultiColumnHeaderState == null; m_MultiColumnHeaderState = headerState; m_MultiColumnHeader = new ProfilerFrameDataMultiColumnHeader(m_MultiColumnHeaderState, columns) { height = 25 }; if (firstInit) { m_MultiColumnHeader.ResizeToFit(); } m_MultiColumnHeader.visibleColumnsChanged += OnMultiColumnHeaderChanged; m_MultiColumnHeader.sortingChanged += OnMultiColumnHeaderChanged; if (m_TreeViewState == null) { m_TreeViewState = new TreeViewState(); } m_TreeView = new ObjectsTreeView(m_TreeViewState, m_MultiColumnHeader); m_TreeView.frameItemEvent += frameItemEvent; if (m_VertSplit == null || !m_VertSplit.IsValid()) { m_VertSplit = SplitterState.FromRelative(new[] { SessionState.GetFloat(splitter0StatePrefKey, 60f), SessionState.GetFloat(splitter1StatePrefKey, 40f) }, new[] { 50f, 50f }, null); } m_Initialized = true; }