aboutsummaryrefslogtreecommitdiff
path: root/src/common
diff options
context:
space:
mode:
authorMaranBr <maranbr@outlook.com>2026-02-12 00:23:19 +0100
committercrueter <crueter@eden-emu.dev>2026-02-12 00:23:19 +0100
commit5f676a6a55aa4d748e545b0fc6956e9a5dbd2f7f (patch)
treec6771e1dbfc36e0ab0236f69275454542585e7be /src/common
parent2ab5b37137c1e1aa8e96d93bd0992aee872de44c (diff)
[vulkan] Add support for target FPS frame pacing (#3494)
This allows users to choose how the emulator manages frame pacing to reduce stuttering and provide a smoother and more consistent frame rate. Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3494 Reviewed-by: CamilleLaVey <camillelavey99@gmail.com> Co-authored-by: MaranBr <maranbr@outlook.com> Co-committed-by: MaranBr <maranbr@outlook.com>
Diffstat (limited to 'src/common')
-rw-r--r--src/common/settings.h7
-rw-r--r--src/common/settings_enums.h1
2 files changed, 8 insertions, 0 deletions
diff --git a/src/common/settings.h b/src/common/settings.h
index 770acdbb69..385ae7e1c9 100644
--- a/src/common/settings.h
+++ b/src/common/settings.h
@@ -434,6 +434,13 @@ struct Values {
"accelerate_astc",
Category::RendererAdvanced};
+ SwitchableSetting<FramePacingMode, true> frame_pacing_mode{linkage,
+ FramePacingMode::Target_Auto,
+ FramePacingMode::Target_Auto,
+ FramePacingMode::Target_240,
+ "frame_pacing_mode",
+ Category::RendererAdvanced};
+
SwitchableSetting<AstcRecompression, true> astc_recompression{linkage,
AstcRecompression::Uncompressed,
"astc_recompression",
diff --git a/src/common/settings_enums.h b/src/common/settings_enums.h
index 33c553dc3c..7e3bef9bea 100644
--- a/src/common/settings_enums.h
+++ b/src/common/settings_enums.h
@@ -129,6 +129,7 @@ ENUM(TimeZone, Auto, Default, Cet, Cst6Cdt, Cuba, Eet, Egypt, Eire, Est, Est5Edt
ENUM(AnisotropyMode, Automatic, Default, X2, X4, X8, X16, X32, X64, None);
ENUM(AstcDecodeMode, Cpu, Gpu, CpuAsynchronous);
ENUM(AstcRecompression, Uncompressed, Bc1, Bc3);
+ENUM(FramePacingMode, Target_Auto, Target_30, Target_60, Target_120, Target_240);
ENUM(VSyncMode, Immediate, Mailbox, Fifo, FifoRelaxed);
ENUM(VramUsageMode, Conservative, Aggressive);
ENUM(RendererBackend, OpenGL_GLSL, Vulkan, Null, OpenGL_GLASM, OpenGL_SPIRV);