From 3905aa408e169f2c2a61f8d13a4cc6fef0161a9b Mon Sep 17 00:00:00 2001 From: Stefan Schubert Date: Fri, 7 Mar 2025 15:51:28 +0100 Subject: [PATCH 1/8] change to .DynamicMeasurementCount() --- .../Tests/InputSystem/CorePerformanceTests.cs | 70 +++++++++---------- 1 file changed, 35 insertions(+), 35 deletions(-) diff --git a/Assets/Tests/InputSystem/CorePerformanceTests.cs b/Assets/Tests/InputSystem/CorePerformanceTests.cs index 1138e644a0..affba901a4 100644 --- a/Assets/Tests/InputSystem/CorePerformanceTests.cs +++ b/Assets/Tests/InputSystem/CorePerformanceTests.cs @@ -40,7 +40,7 @@ public void Performance_MakeCircles() { SpriteUtilities.CreateCircleSprite(16, new Color32(255, 255, 255, 255)); }) - .MeasurementCount(100) + .DynamicMeasurementCount() .WarmupCount(5) .Run(); } @@ -62,7 +62,7 @@ public void Performance_Update10Gamepads() InputSystem.QueueStateEvent(gamepads[i], default(GamepadState)); InputSystem.Update(); }) - .MeasurementCount(100) + .DynamicMeasurementCount() .WarmupCount(5) .Run(); } @@ -79,7 +79,7 @@ public void Performance_UpdateMouse100TimesInFrame() InputSystem.QueueStateEvent(mouse, default(MouseState)); InputSystem.Update(); }) - .MeasurementCount(100) + .DynamicMeasurementCount() .WarmupCount(5) .Run(); } @@ -110,7 +110,7 @@ public void Performance_TwoTouchesOverThreeFrames(bool enableEnhancedTouch) EndTouch(2, new Vector2(111, 222), queueEventOnly: true); InputSystem.Update(); }) - .MeasurementCount(100) + .DynamicMeasurementCount() .WarmupCount(5) .Run(); } @@ -131,7 +131,7 @@ public void Performance_ReadEveryKey() key.ReadValue(); } }) - .MeasurementCount(100) + .DynamicMeasurementCount() .WarmupCount(5) .Run(); } @@ -155,7 +155,7 @@ public void Performance_ReadControl(string deviceLayout, string controlPath) throw new NotImplementedException(); Measure.Method(method) - .MeasurementCount(200) + .DynamicMeasurementCount() .WarmupCount(5) .Run(); } @@ -172,7 +172,7 @@ public void Performance_CreateDevice(string layoutName) InputControlLayout.s_Layouts.precompiledLayouts.Clear(); Measure.Method(() => InputDevice.Build(layoutName)) - .MeasurementCount(100) + .DynamicMeasurementCount() .WarmupCount(5) .Run(); } @@ -186,7 +186,7 @@ public void Performance_CreateDevice(string layoutName) public void Performance_CreatePrecompiledDevice(string layoutName) { Measure.Method(() => InputDevice.Build(layoutName)) - .MeasurementCount(100) + .DynamicMeasurementCount() .WarmupCount(5) .Run(); } @@ -200,7 +200,7 @@ public void Performance_TriggerAction() action.Enable(); Measure.Method(() => PressAndRelease(gamepad.buttonSouth)) - .MeasurementCount(100) + .DynamicMeasurementCount() .WarmupCount(5) .Run(); } @@ -216,7 +216,7 @@ public void Performance_ReadActionValue_InCallback() action.performed += ctx => ctx.ReadValue(); Measure.Method(() => PressAndRelease(gamepad.buttonSouth)) - .MeasurementCount(100) + .DynamicMeasurementCount() .WarmupCount(5) .Run(); } @@ -232,7 +232,7 @@ public void Performance_ReadActionValue() Press(gamepad.buttonSouth); Measure.Method(() => action.ReadValue()) - .MeasurementCount(100) + .DynamicMeasurementCount() .WarmupCount(5) .Run(); } @@ -252,7 +252,7 @@ public void Performance_ListenForUnpairedDeviceActivity() BeginTouch(1, new Vector2(123, 234)); EndTouch(1, new Vector2(234, 345)); }) - .MeasurementCount(100) + .DynamicMeasurementCount() .WarmupCount(5) .Run(); } @@ -293,7 +293,7 @@ public unsafe void Performance_SearchForChangedButtonInEvent_Manually() } Assert.That(foundIt, Is.True); }) - .MeasurementCount(500) + .DynamicMeasurementCount() .WarmupCount(5) .Run(); } @@ -327,7 +327,7 @@ public void Performance_SearchForChangedButtonInEvent_UsingEnumerateChangedContr } Assert.That(foundIt, Is.True); }) - .MeasurementCount(500) + .DynamicMeasurementCount() .WarmupCount(5) .Run(); } @@ -367,7 +367,7 @@ public void Performance_AutoSwitchingOfControlSchemesInPlayerInput_UnrelatedDevi InputSystem.QueueStateEvent(mouse, new MouseState { position = new Vector2(678, 789)}); InputSystem.Update(); }) - .MeasurementCount(500) + .DynamicMeasurementCount() .WarmupCount(5) .Run(); } @@ -405,7 +405,7 @@ public void Performance_AutoSwitchingOfControlSchemesInPlayerInput_SwitchBackAnd PressAndRelease(gamepad.buttonSouth); PressAndRelease(keyboard.spaceKey); }) - .MeasurementCount(500) + .DynamicMeasurementCount() .WarmupCount(5) .Run(); } @@ -427,7 +427,7 @@ public void Performance_Rebinding_OneSuccessfulCycle() Assert.That(action.controls[0], Is.SameAs(gamepad.buttonNorth)); } }) - .MeasurementCount(100) + .DynamicMeasurementCount() .WarmupCount(5) .Run(); } @@ -455,7 +455,7 @@ public void Performance_LookupActionByName(LookupByName lookup) { var _ = asset[(lookup == LookupByName.CaseDoesNotMatch ? "ACTION" : "action") + (int)(kActionCount * 0.75f)]; }) - .MeasurementCount(100) + .DynamicMeasurementCount() .WarmupCount(5) .Run(); } @@ -483,7 +483,7 @@ public void Performance_LookupActionByGuid() { Assert.That(asset[actionToFind.id.ToString()], Is.SameAs(actionToFind)); }) - .MeasurementCount(100) + .DynamicMeasurementCount() .WarmupCount(5) .Run(); } @@ -507,7 +507,7 @@ public void Performance_MatchControlPathPrefix() Assert.That(result3, Is.True); Assert.That(result4, Is.False); }) - .MeasurementCount(100) + .DynamicMeasurementCount() .WarmupCount(5) .Run(); } @@ -538,7 +538,7 @@ public void Performance_FindControlScheme(string device1, string device2 = null, match.Dispose(); Assert.That(result, Is.EqualTo(success)); }) - .MeasurementCount(100) + .DynamicMeasurementCount() .WarmupCount(5) .Run(); } @@ -599,7 +599,7 @@ public void Performance_OptimizedControls_ReadingMousePosition100kTimes(Optimiza for (var i = 0; i < 100000; ++i) pos += mouse.position.ReadValue(); }) - .MeasurementCount(100) + .DynamicMeasurementCount() .WarmupCount(5) .Run(); } @@ -642,7 +642,7 @@ public void Performance_OptimizedControls_ReadAndUpdateMousePosition1kTimes(Opti } } }) - .MeasurementCount(100) + .DynamicMeasurementCount() .WarmupCount(5) .Run(); } @@ -685,7 +685,7 @@ public void Performance_OptimizedControls_ReadAndUpdateGamepad1kTimes(Optimizati } } }) - .MeasurementCount(100) + .DynamicMeasurementCount() .WarmupCount(10) .Run(); } @@ -722,7 +722,7 @@ public void Performance_OptimizedControls_ReadAndUpdateGamepadNewValuesEveryFram InputSystem.QueueStateEvent(gamepad, new GamepadState { leftStick = new Vector2(i / 1000f, i / 1000f) }); } }) - .MeasurementCount(100) + .DynamicMeasurementCount() .WarmupCount(10) .Run(); } @@ -768,7 +768,7 @@ public void Performance_OptimizedControls_ReadAndUpdateKeyboard1kTimes(Optimizat } } }) - .MeasurementCount(100) + .DynamicMeasurementCount() .WarmupCount(10) .Run(); } @@ -810,7 +810,7 @@ public void Performance_OptimizedControls_ReadAndUpdateKeyboardNewValuesEveryFra InputSystem.QueueStateEvent(keyboard, new KeyboardState(Key.F)); } }) - .MeasurementCount(100) + .DynamicMeasurementCount() .WarmupCount(10) .Run(); } @@ -836,7 +836,7 @@ public void Performance_OptimizedControls_UpdateOnly1kTimes(OptimizationTestType { CallUpdate(); }) - .MeasurementCount(100) + .DynamicMeasurementCount() .SampleGroup("Mouse Only") .WarmupCount(10) .Run(); @@ -849,7 +849,7 @@ public void Performance_OptimizedControls_UpdateOnly1kTimes(OptimizationTestType { CallUpdate(); }) - .MeasurementCount(100) + .DynamicMeasurementCount() .SampleGroup("Gamepad Only") .WarmupCount(10) .Run(); @@ -912,7 +912,7 @@ public void Performance_OptimizedControls_Gamepad_250PressAndUpdate_WasPressedTh { CallUpdate(); }) - .MeasurementCount(100) + .DynamicMeasurementCount() .SampleGroup("Gamepad Only") .WarmupCount(10) .Run(); @@ -975,7 +975,7 @@ public void Performance_OptimizedControls_Keyboard_250PressAndUpdate_WasPressedT { CallUpdate(); }) - .MeasurementCount(100) + .DynamicMeasurementCount() .SampleGroup("Keyboard Only") .WarmupCount(10) .Run(); @@ -1011,7 +1011,7 @@ public void Performance_OptimizedControls_EvaluateStaleControlReadsWhenGamepadSt { MethodToMeasure(gamepad); }).SampleGroup("ReadValueCaching Expected With WORSE Performance") - .MeasurementCount(100) + .DynamicMeasurementCount() .WarmupCount(5) .Run(); @@ -1039,7 +1039,7 @@ public void Performance_OptimizedControls_EvaluateStaleControlReadsWhenGamepadSt { MethodToMeasure(gamepad); }).SampleGroup("ReadValueCaching Expected With BETTER Performance") - .MeasurementCount(100) + .DynamicMeasurementCount() .WarmupCount(5) .Run(); @@ -1100,7 +1100,7 @@ public void Performance_OptimizedControls_ReadingPose4kTimes(OptimizationTestTyp for (var i = 0; i < 4000; ++i) poseControl.ReadValue(); }) - .MeasurementCount(100) + .DynamicMeasurementCount() .WarmupCount(5) .Run(); } @@ -1204,7 +1204,7 @@ public IEnumerator Performance_MeasureInputSystemFrameTimeWithProfilerMarkers_Do yield return Measure.Frames() .WarmupCount(30) .DontRecordFrametime() - .MeasurementCount(500) + .DynamicMeasurementCount() .ProfilerMarkers(allInputSystemProfilerMarkers) .Run(); } From 0807e37dbfc7bf721baa597a490dec4bff0d9a67 Mon Sep 17 00:00:00 2001 From: Stefan Schubert Date: Mon, 10 Mar 2025 10:03:46 +0100 Subject: [PATCH 2/8] revert Performance_MeasureInputSystemFrameTimeWithProfilerMarkers_DoingNothing to fixed amount of frames -fix error -make it be in line with the other profilermarker tests --- Assets/Tests/InputSystem/CorePerformanceTests.cs | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/Assets/Tests/InputSystem/CorePerformanceTests.cs b/Assets/Tests/InputSystem/CorePerformanceTests.cs index affba901a4..25d05be597 100644 --- a/Assets/Tests/InputSystem/CorePerformanceTests.cs +++ b/Assets/Tests/InputSystem/CorePerformanceTests.cs @@ -1201,11 +1201,10 @@ public IEnumerator Performance_MeasureInputSystemFrameTimeWithProfilerMarkers_FP [Category("Performance")] public IEnumerator Performance_MeasureInputSystemFrameTimeWithProfilerMarkers_DoingNothing() { - yield return Measure.Frames() - .WarmupCount(30) - .DontRecordFrametime() - .DynamicMeasurementCount() + yield return Measure.Frames() + .MeasurementCount(500) .ProfilerMarkers(allInputSystemProfilerMarkers) + .WarmupCount(5) .Run(); } From 34d59190b6a937c91af7294e7ff4b3e0c1c6e25f Mon Sep 17 00:00:00 2001 From: Stefan Schubert Date: Tue, 11 Mar 2025 10:03:42 +0100 Subject: [PATCH 3/8] testrun 1 --- Assets/Tests/InputSystem/CorePerformanceTests.cs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Assets/Tests/InputSystem/CorePerformanceTests.cs b/Assets/Tests/InputSystem/CorePerformanceTests.cs index 25d05be597..02b6523c82 100644 --- a/Assets/Tests/InputSystem/CorePerformanceTests.cs +++ b/Assets/Tests/InputSystem/CorePerformanceTests.cs @@ -14,6 +14,8 @@ using UnityEngine.InputSystem.Utilities; using UnityEngine.TestTools; +// 1 + ////TODO: add test for domain reload logic // IMPORTANT: When running in editor, make sure to turn off debugging (disable "Editor Attaching" in From faa9f8dad56945a62207d9e18fa89554a095360b Mon Sep 17 00:00:00 2001 From: Stefan Schubert Date: Tue, 11 Mar 2025 11:16:24 +0100 Subject: [PATCH 4/8] testrun 2 --- Assets/Tests/InputSystem/CorePerformanceTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Assets/Tests/InputSystem/CorePerformanceTests.cs b/Assets/Tests/InputSystem/CorePerformanceTests.cs index 02b6523c82..6c51fc3573 100644 --- a/Assets/Tests/InputSystem/CorePerformanceTests.cs +++ b/Assets/Tests/InputSystem/CorePerformanceTests.cs @@ -14,7 +14,7 @@ using UnityEngine.InputSystem.Utilities; using UnityEngine.TestTools; -// 1 +// 2 ////TODO: add test for domain reload logic From b1ce2df85709a73c6f2d49d3b5d3b2d6da2c1797 Mon Sep 17 00:00:00 2001 From: Stefan Schubert Date: Tue, 11 Mar 2025 11:56:07 +0100 Subject: [PATCH 5/8] testrun 3 --- Assets/Tests/InputSystem/CorePerformanceTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Assets/Tests/InputSystem/CorePerformanceTests.cs b/Assets/Tests/InputSystem/CorePerformanceTests.cs index 6c51fc3573..81a3b1ffca 100644 --- a/Assets/Tests/InputSystem/CorePerformanceTests.cs +++ b/Assets/Tests/InputSystem/CorePerformanceTests.cs @@ -14,7 +14,7 @@ using UnityEngine.InputSystem.Utilities; using UnityEngine.TestTools; -// 2 +// 3 ////TODO: add test for domain reload logic From 4b36588b6c75fca872e659189417cf10d3949d6f Mon Sep 17 00:00:00 2001 From: Stefan Schubert Date: Tue, 11 Mar 2025 14:21:10 +0100 Subject: [PATCH 6/8] testrun 4 --- Assets/Tests/InputSystem/CorePerformanceTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Assets/Tests/InputSystem/CorePerformanceTests.cs b/Assets/Tests/InputSystem/CorePerformanceTests.cs index 81a3b1ffca..98873221cf 100644 --- a/Assets/Tests/InputSystem/CorePerformanceTests.cs +++ b/Assets/Tests/InputSystem/CorePerformanceTests.cs @@ -14,7 +14,7 @@ using UnityEngine.InputSystem.Utilities; using UnityEngine.TestTools; -// 3 +// 4 ////TODO: add test for domain reload logic From a61f195f331c98534afa729c72c76b325feba90d Mon Sep 17 00:00:00 2001 From: Stefan Schubert Date: Fri, 4 Apr 2025 11:59:31 +0200 Subject: [PATCH 7/8] Update CorePerformanceTests.cs --- Assets/Tests/InputSystem/CorePerformanceTests.cs | 2 -- 1 file changed, 2 deletions(-) diff --git a/Assets/Tests/InputSystem/CorePerformanceTests.cs b/Assets/Tests/InputSystem/CorePerformanceTests.cs index 98873221cf..25d05be597 100644 --- a/Assets/Tests/InputSystem/CorePerformanceTests.cs +++ b/Assets/Tests/InputSystem/CorePerformanceTests.cs @@ -14,8 +14,6 @@ using UnityEngine.InputSystem.Utilities; using UnityEngine.TestTools; -// 4 - ////TODO: add test for domain reload logic // IMPORTANT: When running in editor, make sure to turn off debugging (disable "Editor Attaching" in From fc09913234ce3d61ef89d8725fde2b5dfbd07951 Mon Sep 17 00:00:00 2001 From: Stefan Schubert Date: Fri, 4 Apr 2025 12:18:38 +0200 Subject: [PATCH 8/8] doh, formatting --- Assets/Tests/InputSystem/CorePerformanceTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Assets/Tests/InputSystem/CorePerformanceTests.cs b/Assets/Tests/InputSystem/CorePerformanceTests.cs index 25d05be597..04132fca85 100644 --- a/Assets/Tests/InputSystem/CorePerformanceTests.cs +++ b/Assets/Tests/InputSystem/CorePerformanceTests.cs @@ -1201,7 +1201,7 @@ public IEnumerator Performance_MeasureInputSystemFrameTimeWithProfilerMarkers_FP [Category("Performance")] public IEnumerator Performance_MeasureInputSystemFrameTimeWithProfilerMarkers_DoingNothing() { - yield return Measure.Frames() + yield return Measure.Frames() .MeasurementCount(500) .ProfilerMarkers(allInputSystemProfilerMarkers) .WarmupCount(5)