From 686d915da8264d8bd1400f17d7e6d06c260c11da Mon Sep 17 00:00:00 2001 From: Ezekiel Warren Date: Sat, 19 Nov 2022 19:04:04 -0800 Subject: [PATCH] adds more runner debug info in inspector --- Editor/DefaultFixedRunnerEditor.cs | 24 +++++++++++++++++++++--- Editor/DefaultRunnerEditor.cs | 2 +- 2 files changed, 22 insertions(+), 4 deletions(-) diff --git a/Editor/DefaultFixedRunnerEditor.cs b/Editor/DefaultFixedRunnerEditor.cs index 9d0139c..9deb2d5 100644 --- a/Editor/DefaultFixedRunnerEditor.cs +++ b/Editor/DefaultFixedRunnerEditor.cs @@ -5,6 +5,9 @@ namespace Ecsact.Editor { [CustomEditor(typeof(Ecsact.DefaultFixedRunner))] public class DefaultFixedRunnerEditor : UnityEditor.Editor { + private float deltaTimePcMax = 0f; + private float executionTimeMsMax = 0; + public override bool RequiresConstantRepaint() { return Application.isPlaying; } @@ -18,7 +21,13 @@ public override void OnInspectorGUI() { if(runner.debugExecutionTimeMs > 0) { // 0.0 - 1.0 how much the execution time takes up from the delta time deltaTimePc = - Time.deltaTime / ((float)runner.debugExecutionTimeMs) / 1000f; + ((float)runner.debugExecutionTimeMs / 1000f) / Time.deltaTime; + + deltaTimePcMax = global::System.MathF.Max(deltaTimePcMax, deltaTimePc); + executionTimeMsMax = global::System.Math.Max( + executionTimeMsMax, + runner.debugExecutionTimeMs + ); if(deltaTimePc > 0.5) { executionHeatStyle.normal.textColor = Color.red; @@ -33,10 +42,19 @@ public override void OnInspectorGUI() { ); EditorGUILayout.LabelField( "Execution Time", - $"{runner.debugExecutionTimeMs}ms " + - $"({deltaTimePc*100:0.0}% of delta time)", + $"{runner.debugExecutionTimeMs}ms\t\tupper={executionTimeMsMax}ms", executionHeatStyle ); + EditorGUILayout.LabelField( + "Delta Time", + $"{deltaTimePc*100:0.0}%\t\tupper={deltaTimePcMax*100:0.0}%", + executionHeatStyle + ); + + if(GUILayout.Button("Reset Uppers")) { + executionTimeMsMax = 0; + deltaTimePcMax = 0; + } } } diff --git a/Editor/DefaultRunnerEditor.cs b/Editor/DefaultRunnerEditor.cs index 3777628..85305ef 100644 --- a/Editor/DefaultRunnerEditor.cs +++ b/Editor/DefaultRunnerEditor.cs @@ -18,7 +18,7 @@ public override void OnInspectorGUI() { if(runner.debugExecutionTimeMs > 0) { // 0.0 - 1.0 how much the execution time takes up from the delta time deltaTimePc = - Time.deltaTime / ((float)runner.debugExecutionTimeMs) / 1000f; + ((float)runner.debugExecutionTimeMs / 1000f) / Time.deltaTime; if(deltaTimePc > 0.5) { executionHeatStyle.normal.textColor = Color.red;