Esempio n. 1
0
 private void DoTimingSample(TimingSample sample, int index)
 {
     using (new EditorGUILayout.HorizontalScope((index & 1) == 1 ? Styles.backgroundOdd : Styles.backgroundEven, GUILayout.Height(TIMING_ITEM_HEIGHT))) {
         EditorGUILayout.LabelField(sample.Name, GUILayout.ExpandWidth(true), GUILayout.MinWidth(150f));
         DrawLine();
         EditorGUILayout.LabelField(sample.StackClass, GUILayout.ExpandWidth(false), GUILayout.Width(100f));
         DrawLine();
         EditorGUILayout.LabelField(((float)sample.Duration.Ticks / loadedFile.TotalTime.Ticks).ToString("00.0%"), GUILayout.ExpandWidth(false), GUILayout.Width(50f));
         DrawLine();
         EditorGUILayout.LabelField(((float)sample.Duration.Ticks / sample.Calls / loadedFile.TotalTime.Ticks).ToString("00.0%"), GUILayout.ExpandWidth(false), GUILayout.Width(50f));
         DrawLine();
         EditorGUILayout.LabelField(sample.Duration.GetTimeFormated(), GUILayout.ExpandWidth(false), GUILayout.Width(80f));
         DrawLine();
         EditorGUILayout.LabelField(new TimeSpan(sample.Duration.Ticks / sample.Calls).GetTimeFormated(), GUILayout.ExpandWidth(false), GUILayout.Width(80f));
         DrawLine();
         EditorGUILayout.LabelField(sample.Calls.ToString("000000"), GUILayout.ExpandWidth(false), GUILayout.Width(60f));
     }
 }
Esempio n. 2
0
        private static int Sort(TimingSample a, TimingSample b)
        {
            switch (currentSorting.Value)
            {
            case Sorting.Name:
                return(string.Compare(a.Name, b.Name));

            case Sorting.Class:
                return(string.Compare(a.StackClass, b.StackClass));

            case Sorting.TotalTime:
            case Sorting.TotalPercent:
                return((int)(b.Duration.Ticks - a.Duration.Ticks));

            case Sorting.SelfTime:
            case Sorting.SelfPercent:
                return((int)(b.Duration.Ticks / b.Calls - a.Duration.Ticks / a.Calls));

            case Sorting.Calls:
                return(b.Calls - a.Calls);

            case Sorting.InverseName:
                return(string.Compare(b.Name, a.Name));

            case Sorting.InverseClass:
                return(string.Compare(b.StackClass, a.StackClass));

            case Sorting.InverseTotalTime:
            case Sorting.InverseTotalPercent:
                return((int)(a.Duration.Ticks - b.Duration.Ticks));

            case Sorting.InverseSelfTime:
            case Sorting.InverseSelfPercent:
                return((int)(a.Duration.Ticks / a.Calls - b.Duration.Ticks / b.Calls));

            case Sorting.InverseCalls:
                return(a.Calls - b.Calls);

            default:
                return(0);
            }
        }