Exemple #1
0
 void MemRecordModeClick(object userData, string[] options, int selected)
 {
     m_SelectedMemRecordMode = (ProfilerMemoryRecordMode)selected;
     if (m_SelectedMemRecordMode != ProfilerMemoryRecordMode.None)
     {
         m_LastSelectedMemRecordMode = m_SelectedMemRecordMode;
     }
     ProfilerDriver.memoryRecordMode = m_SelectedMemRecordMode;
 }
        void Awake()
        {
            if (!Profiler.supported)
            {
                return;
            }

            // Track enabled state per Editor session
            m_Recording = SessionState.GetBool(kProfilerEnabledSessionKey, true);

            // This event gets called every time when some other window is maximized and then unmaximized
            ProfilerDriver.enabled = m_Recording;

            m_SelectedMemRecordMode = ProfilerDriver.memoryRecordMode;
        }
Exemple #3
0
        void AllocationCallstacksToolbarItem()
        {
            if (Unsupported.IsDeveloperMode())
            {
                bool toggled        = m_SelectedMemRecordMode != ProfilerMemoryRecordMode.None;
                var  oldToggleState = toggled;
                if (EditorGUILayout.DropDownToggle(ref toggled, Styles.recordCallstacks, EditorStyles.toolbarDropDownToggle))
                {
                    Rect     rect  = GUILayoutUtility.topLevel.GetLast();
                    string[] names = new string[]
                    {
                        L10n.Tr("None"), L10n.Tr("Managed Allocations")
                    };
                    if (Unsupported.IsDeveloperMode())
                    {
                        names = new string[]
                        {
                            L10n.Tr("None"), L10n.Tr("Managed Allocations"), L10n.Tr("All Allocations (fast)"), L10n.Tr("All Allocations (full)")
                        };
                    }

                    var enabled = new bool[names.Length];
                    for (int c = 0; c < names.Length; ++c)
                    {
                        enabled[c] = true;
                    }
                    var selected = new int[] { (int)m_SelectedMemRecordMode };
                    EditorUtility.DisplayCustomMenu(rect, names, enabled, selected, MemRecordModeClick, null);
                    GUIUtility.ExitGUI();
                }
                if (toggled != oldToggleState)
                {
                    m_SelectedMemRecordMode = (m_SelectedMemRecordMode != ProfilerMemoryRecordMode.None) ? ProfilerMemoryRecordMode.None :
                                              (m_LastSelectedMemRecordMode == ProfilerMemoryRecordMode.None ? ProfilerMemoryRecordMode.ManagedAllocations : m_LastSelectedMemRecordMode);
                }
            }
            else
            {
                m_SelectedMemRecordMode = GUILayout.Toggle(m_SelectedMemRecordMode == ProfilerMemoryRecordMode.ManagedAllocations, Styles.recordCallstacks, EditorStyles.toolbarButton) ? ProfilerMemoryRecordMode.ManagedAllocations : ProfilerMemoryRecordMode.None;
            }
        }
Exemple #4
0
 static void OnProfilerWindowMemoryRecordModeChanged(ProfilerMemoryRecordMode memRecordMode)
 {
     EventService.Emit(nameof(EventType.UmpProfilerMemRecordModeChanged), (int)memRecordMode);
 }
 public ProfilerWindow()
 {
     float[] relativeSizes = new float[] { 50f, 50f };
     int[] minSizes = new int[] { 50, 50 };
     this.m_VertSplit = new SplitterState(relativeSizes, minSizes, null);
     float[] singleArray2 = new float[] { 70f, 30f };
     int[] numArray2 = new int[] { 450, 50 };
     this.m_ViewSplit = new SplitterState(singleArray2, numArray2, null);
     float[] singleArray3 = new float[] { 20f, 80f };
     int[] numArray3 = new int[] { 100, 100 };
     this.m_NetworkSplit = new SplitterState(singleArray3, numArray3, null);
     this.m_AttachProfilerUI = new AttachProfilerUI();
     this.m_GraphPos = Vector2.zero;
     this.m_PaneScroll = new Vector2[9];
     this.m_PaneScroll_AudioChannels = Vector2.zero;
     this.m_PaneScroll_AudioDSP = Vector2.zero;
     this.m_PaneScroll_AudioClips = Vector2.zero;
     this.m_ViewType = ProfilerViewType.Hierarchy;
     this.m_CurrentArea = ProfilerArea.CPU;
     this.m_ShowDetailedMemoryPane = ProfilerMemoryView.Simple;
     this.m_ShowDetailedAudioPane = ProfilerAudioView.Stats;
     this.m_ShowInactiveDSPChains = false;
     this.m_HighlightAudibleDSPChains = true;
     this.m_DSPGraphZoomFactor = 1f;
     this.m_CurrentFrame = -1;
     this.m_LastFrameFromTick = -1;
     this.m_PrevLastFrame = -1;
     this.m_LastAudioProfilerFrame = -1;
     this.m_ChartOldMax = new float[] { -1f, -1f };
     this.m_ChartMaxClamp = 70000f;
     this.m_TimelineViewDetail = false;
     this.m_GatherObjectReferences = true;
     this.m_AudioProfilerGroupView = null;
     this.m_AudioProfilerClipView = null;
     this.m_SelectedMemRecordMode = ProfilerMemoryRecordMode.None;
     this.s_CheckMark = '✔';
     this.msgNames = new string[] { "UserMessage", "ObjectDestroy", "ClientRpc", "ObjectSpawn", "Owner", "Command", "LocalPlayerTransform", "SyncEvent", "SyncVars", "SyncList", "ObjectSpawnScene", "NetworkInfo", "SpawnFinished", "ObjectHide", "CRC", "ClientAuthority" };
     this.msgFoldouts = new bool[] { true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, false };
 }
 private void MemRecordModeClick(object userData, string[] options, int selected)
 {
     this.m_SelectedMemRecordMode = (ProfilerMemoryRecordMode) selected;
     ProfilerDriver.memoryRecordMode = this.m_SelectedMemRecordMode;
 }
 private void Awake()
 {
     if (Profiler.supported)
     {
         this.m_Recording = SessionState.GetBool("ProfilerEnabled", true);
         Profiler.enabled = this.m_Recording;
         this.m_SelectedMemRecordMode = ProfilerDriver.memoryRecordMode;
     }
 }