diff --git a/app/src/main/cpp/skyline/gpu/presentation_engine.cpp b/app/src/main/cpp/skyline/gpu/presentation_engine.cpp index 71353df3..ac9355b4 100644 --- a/app/src/main/cpp/skyline/gpu/presentation_engine.cpp +++ b/app/src/main/cpp/skyline/gpu/presentation_engine.cpp @@ -191,7 +191,7 @@ namespace skyline::gpu { }); // We don't care about suboptimal images as they are caused by not respecting the transform hint, we handle transformations externally } - timestamp = timestamp ? timestamp : getMonotonicNsNow(); + timestamp = (timestamp && !*state.settings->disableFrameThrottling) ? timestamp : getMonotonicNsNow(); // We tie FPS to the submission time rather than presentation timestamp, if we don't have the presentation timestamp available or if frame throttling is disabled as we want the maximum measured FPS to not be restricted to the refresh rate if (frameTimestamp) { i64 sampleWeight{Fps ? Fps : 1}; //!< The weight of each sample in calculating the average, we want to roughly average the past second diff --git a/app/src/main/java/emu/skyline/EmulationActivity.kt b/app/src/main/java/emu/skyline/EmulationActivity.kt index 1d6cc37c..682dcd9c 100644 --- a/app/src/main/java/emu/skyline/EmulationActivity.kt +++ b/app/src/main/java/emu/skyline/EmulationActivity.kt @@ -295,6 +295,9 @@ class EmulationActivity : AppCompatActivity(), SurfaceHolder.Callback, View.OnTo ) if (preferenceSettings.perfStats) { + if (preferenceSettings.disableFrameThrottling) + binding.perfStats.setTextColor(getColor(R.color.colorPerfStatsSecondary)) + binding.perfStats.apply { postDelayed(object : Runnable { override fun run() { diff --git a/app/src/main/res/layout/emu_activity.xml b/app/src/main/res/layout/emu_activity.xml index 3d28245e..117acd51 100644 --- a/app/src/main/res/layout/emu_activity.xml +++ b/app/src/main/res/layout/emu_activity.xml @@ -27,8 +27,8 @@ android:layout_gravity="top|left" android:layout_marginLeft="@dimen/onScreenItemHorizontalMargin" android:layout_marginTop="5dp" - android:textColor="#9fffff00" - tools:text="60 FPS \n16.7±1.20ms" /> + tools:text="60 FPS\n16.6±0.10ms" + android:textColor="@color/colorPerfStatsPrimary" /> @android:color/white #F8F8F8 @android:color/black + + #9FFFFF00 + #9F00FFFF diff --git a/app/src/main/res/values/strings.xml b/app/src/main/res/values/strings.xml index c695d17c..accd86aa 100644 --- a/app/src/main/res/values/strings.xml +++ b/app/src/main/res/values/strings.xml @@ -60,7 +60,7 @@ Utilize at least three swapchain buffers (Higher FPS but more input lag) Utilize at least two swapchain buffers (Lower FPS but less input lag) Disable Frame Throttling - Game is allowed to submit frames as fast as possible (Only for benchmarking) + Game is allowed to submit frames as fast as possible (Only for benchmarking)\n\nNote: An alternative method is utilized to measure the FPS with this enabled, the figures must not be compared to throttled FPS figures Only allow the game to submit frames at the display refresh rate Use Maximum Display Refresh Rate Sets the display refresh rate as high as possible (Will break most games)