[frontend] fix frame skip setting prsentation
All checks were successful
eden-license / license-header (pull_request) Successful in 59s

Signed-off-by: crueter <crueter@eden-emu.dev>
This commit is contained in:
crueter 2025-08-14 20:17:53 -04:00
parent 77da1a32e0
commit d342204e5d
Signed by: crueter
GPG key ID: 425ACD2D4830EBC6
8 changed files with 19 additions and 28 deletions

View file

@ -32,6 +32,7 @@ enum class BooleanSetting(override val key: String) : AbstractBooleanSetting {
RENDERER_DESCRIPTOR_INDEXING("descriptor_indexing"), RENDERER_DESCRIPTOR_INDEXING("descriptor_indexing"),
RENDERER_SAMPLE_SHADING("sample_shading"), RENDERER_SAMPLE_SHADING("sample_shading"),
PICTURE_IN_PICTURE("picture_in_picture"), PICTURE_IN_PICTURE("picture_in_picture"),
FRAME_SKIPPING("frame_skipping"),
USE_CUSTOM_RTC("custom_rtc_enabled"), USE_CUSTOM_RTC("custom_rtc_enabled"),
BLACK_BACKGROUNDS("black_backgrounds"), BLACK_BACKGROUNDS("black_backgrounds"),
JOYSTICK_REL_CENTER("joystick_rel_center"), JOYSTICK_REL_CENTER("joystick_rel_center"),

View file

@ -42,7 +42,6 @@ enum class IntSetting(override val key: String) : AbstractIntSetting {
RENDERER_SAMPLE_SHADING_FRACTION("sample_shading_fraction"), RENDERER_SAMPLE_SHADING_FRACTION("sample_shading_fraction"),
FAST_CPU_TIME("fast_cpu_time"), FAST_CPU_TIME("fast_cpu_time"),
CPU_TICKS("cpu_ticks"), CPU_TICKS("cpu_ticks"),
FRAME_SKIPPING("frame_skipping"),
FAST_GPU_TIME("fast_gpu_time"), FAST_GPU_TIME("fast_gpu_time"),
BAT_TEMPERATURE_UNIT("bat_temperature_unit"), BAT_TEMPERATURE_UNIT("bat_temperature_unit"),
CABINET_APPLET("cabinet_applet_mode"), CABINET_APPLET("cabinet_applet_mode"),

View file

@ -243,12 +243,10 @@ abstract class SettingsItem(
) )
) )
put( put(
SingleChoiceSetting( SwitchSetting(
IntSetting.FRAME_SKIPPING, BooleanSetting.FRAME_SKIPPING,
titleId = R.string.frame_skipping, titleId = R.string.frame_skipping,
descriptionId = R.string.frame_skipping_description, descriptionId = R.string.frame_skipping_description,
choicesId = R.array.frameSkippingNames,
valuesId = R.array.frameSkippingValues
) )
) )
put( put(

View file

@ -450,7 +450,7 @@ class SettingsFragmentPresenter(
add(BooleanSetting.RENDERER_EARLY_RELEASE_FENCES.key) add(BooleanSetting.RENDERER_EARLY_RELEASE_FENCES.key)
add(BooleanSetting.BUFFER_REORDER_DISABLE.key) add(BooleanSetting.BUFFER_REORDER_DISABLE.key)
add(BooleanSetting.FRAME_INTERPOLATION.key) add(BooleanSetting.FRAME_INTERPOLATION.key)
add(IntSetting.FRAME_SKIPPING.key) add(BooleanSetting.FRAME_SKIPPING.key)
add(BooleanSetting.RENDERER_FAST_GPU.key) add(BooleanSetting.RENDERER_FAST_GPU.key)
add(IntSetting.FAST_GPU_TIME.key) add(IntSetting.FAST_GPU_TIME.key)
add(IntSetting.RENDERER_SHADER_BACKEND.key) add(IntSetting.RENDERER_SHADER_BACKEND.key)

View file

@ -21,18 +21,6 @@
<item>1</item> <item>1</item>
</integer-array> </integer-array>
<string-array name="frameSkippingNames">
<item>@string/disabled</item>
<item>1</item>
<item>2</item>
</string-array>
<integer-array name="frameSkippingValues">
<item>0</item>
<item>1</item>
<item>2</item>
</integer-array>
<string-array name="memoryNames"> <string-array name="memoryNames">
<item>@string/memory_4gb</item> <item>@string/memory_4gb</item>
<item>@string/memory_6gb</item> <item>@string/memory_6gb</item>

View file

@ -482,8 +482,8 @@
<string name="display">Display</string> <string name="display">Display</string>
<string name="processing">Post-Processing</string> <string name="processing">Post-Processing</string>
<string name="frame_skipping">WIP: Frameskip</string> <string name="frame_skipping">Frame Skipping</string>
<string name="frame_skipping_description">Toggle frame skipping to improve performance by reducing the number of rendered frames. This feature is still being worked on and will be enabled in future releases.</string> <string name="frame_skipping_description">Toggle frame skipping to improve performance by reducing the number of rendered frames.</string>
<string name="renderer_accuracy">Accuracy level</string> <string name="renderer_accuracy">Accuracy level</string>
<string name="renderer_resolution">Resolution (Handheld/Docked)</string> <string name="renderer_resolution">Resolution (Handheld/Docked)</string>
<string name="renderer_vsync">VSync mode</string> <string name="renderer_vsync">VSync mode</string>

View file

@ -326,8 +326,7 @@ struct Values {
SwitchableSetting<bool> frame_interpolation{linkage, true, "frame_interpolation", Category::Renderer, SwitchableSetting<bool> frame_interpolation{linkage, true, "frame_interpolation", Category::Renderer,
Specialization::RuntimeList}; Specialization::RuntimeList};
#endif #endif
SwitchableSetting<bool> frame_skipping{linkage, false, "frame_skipping", Category::Renderer, SwitchableSetting<bool> frame_skipping{linkage, false, "frame_skipping", Category::Renderer};
Specialization::RuntimeList};
SwitchableSetting<bool> use_disk_shader_cache{linkage, true, "use_disk_shader_cache", SwitchableSetting<bool> use_disk_shader_cache{linkage, true, "use_disk_shader_cache",
Category::Renderer}; Category::Renderer};
SwitchableSetting<SpirvOptimizeMode, true> optimize_spirv_output{linkage, SwitchableSetting<SpirvOptimizeMode, true> optimize_spirv_output{linkage,

View file

@ -269,6 +269,18 @@ std::unique_ptr<TranslationMap> InitializeTranslations(QWidget* parent)
INSERT(Settings, bg_blue, QString(), QString()); INSERT(Settings, bg_blue, QString(), QString());
// Renderer (Advanced Graphics) // Renderer (Advanced Graphics)
INSERT(Settings,
enable_raii,
tr("RAII"),
tr("A method of automatic resource management in Vulkan "
"that ensures proper release of resources "
"when they are no longer needed, but may cause crashes in bundled games."));
INSERT(Settings,
frame_skipping,
tr("Frame Skipping"),
tr("Skips rendering every other frame while still presenting "
"the frame as rendered.\nThis cuts the effective FPS in half, but can make "
"games run stable at the game's target FPS on weaker hardware."));
INSERT(Settings, INSERT(Settings,
async_presentation, async_presentation,
tr("Enable asynchronous presentation (Vulkan only)"), tr("Enable asynchronous presentation (Vulkan only)"),
@ -335,12 +347,6 @@ std::unique_ptr<TranslationMap> InitializeTranslations(QWidget* parent)
tr("Improves rendering of transparency effects in specific games.")); tr("Improves rendering of transparency effects in specific games."));
// Renderer (Extensions) // Renderer (Extensions)
INSERT(Settings,
enable_raii,
tr("RAII"),
tr("A method of automatic resource management in Vulkan "
"that ensures proper release of resources "
"when they are no longer needed, but may cause crashes in bundled games."));
INSERT(Settings, INSERT(Settings,
dyna_state, dyna_state,
tr("Extended Dynamic State"), tr("Extended Dynamic State"),