From b37f3c7044209fc6fef3e39be549b97db194db3d Mon Sep 17 00:00:00 2001
From: xXJSONDeruloXx <danielhimebauch@gmail.com>
Date: Wed, 23 Jul 2025 23:07:35 -0400
Subject: fps slider for target pacing with UI

---
 src/components/ConfigurationSection.tsx | 14 +++++++++++++-
 1 file changed, 13 insertions(+), 1 deletion(-)

(limited to 'src/components/ConfigurationSection.tsx')

diff --git a/src/components/ConfigurationSection.tsx b/src/components/ConfigurationSection.tsx
index 778ebc8..7c5d9ca 100644
--- a/src/components/ConfigurationSection.tsx
+++ b/src/components/ConfigurationSection.tsx
@@ -2,7 +2,7 @@ import { PanelSectionRow, ToggleField, SliderField, DropdownItem } from "@decky/
 import { ConfigurationData } from "../config/configSchema";
 import { FpsMultiplierControl } from "./FpsMultiplierControl";
 import {
-  FLOW_SCALE, PERFORMANCE_MODE, HDR_MODE, 
+  FLOW_SCALE, TARGET_TOTAL_FPS, PERFORMANCE_MODE, HDR_MODE, 
   EXPERIMENTAL_PRESENT_MODE, DXVK_FRAME_RATE, DISABLE_STEAMDECK_MODE,
   MANGOHUD_WORKAROUND, DISABLE_VKBASALT
 } from "../config/generatedConfigSchema";
@@ -49,6 +49,18 @@ export function ConfigurationSection({
         />
       </PanelSectionRow>
 
+      <PanelSectionRow>
+        <SliderField
+          label={`Target Total FPS ${config.target_total_fps === 0 ? '(Default)' : config.target_total_fps.toFixed(0)}`}
+          description="Specify your post-frame gen target framerate to force specific frame pacing logic. 0 = default pacing"
+          value={config.target_total_fps}
+          min={0}
+          max={144}
+          step={1}
+          onChange={(value) => onConfigChange(TARGET_TOTAL_FPS, value)}
+        />
+      </PanelSectionRow>
+
       <PanelSectionRow>
         <ToggleField
           label="Performance Mode"
-- 
cgit v1.2.3

