From ddcea1663486f4c05ded5025c4eaf29e7bf2a4fb Mon Sep 17 00:00:00 2001 From: sonninnos <45124675+sonninnos@users.noreply.github.com> Date: Mon, 16 Jan 2023 21:27:48 +0200 Subject: [PATCH] Show Frame Delay without VSync (#14857) --- intl/msg_hash_us.h | 6 +++--- menu/menu_displaylist.c | 22 ++++++++++++---------- 2 files changed, 15 insertions(+), 13 deletions(-) diff --git a/intl/msg_hash_us.h b/intl/msg_hash_us.h index 3845f79b99..4a514f469b 100644 --- a/intl/msg_hash_us.h +++ b/intl/msg_hash_us.h @@ -2296,11 +2296,11 @@ MSG_HASH( ) MSG_HASH( MENU_ENUM_SUBLABEL_VIDEO_FRAME_DELAY, - "Reduces latency at the cost of a higher risk of video stuttering. Adds a delay after VSync (in ms)." + "Reduces latency at the cost of a higher risk of video stuttering. Adds a delay in milliseconds after video presentation and before core frame." ) MSG_HASH( MENU_ENUM_LABEL_HELP_VIDEO_FRAME_DELAY, - "Sets how many milliseconds to delay after VSync before running the core. Can reduce latency at the cost of higher risk of stuttering. Maximum is %d." + "Sets how many milliseconds to delay after video presentation before running the core. Can reduce latency at the cost of higher risk of stuttering. Maximum is %d." ) MSG_HASH( MENU_ENUM_LABEL_VALUE_VIDEO_FRAME_DELAY_AUTO, @@ -2744,7 +2744,7 @@ MSG_HASH( ) MSG_HASH( MENU_ENUM_LABEL_VALUE_INPUT_POLL_TYPE_BEHAVIOR, - "Polling Behavior" + "Polling Behavior (Restart Required)" ) MSG_HASH( MENU_ENUM_SUBLABEL_INPUT_POLL_TYPE_BEHAVIOR, diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index e5d9b1acb7..3f2dd5f2a3 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -8792,14 +8792,6 @@ unsigned menu_displaylist_build_list( MENU_ENUM_LABEL_VIDEO_ADAPTIVE_VSYNC, PARSE_ONLY_BOOL, false) == 0) count++; - if (MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(list, - MENU_ENUM_LABEL_VIDEO_FRAME_DELAY, - PARSE_ONLY_UINT, false) == 0) - count++; - if (MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(list, - MENU_ENUM_LABEL_VIDEO_FRAME_DELAY_AUTO, - PARSE_ONLY_BOOL, false) == 0) - count++; } if (video_driver_test_all_flags(GFX_CTX_FLAGS_HARD_SYNC)) @@ -8836,6 +8828,16 @@ unsigned menu_displaylist_build_list( count++; } + if (MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(list, + MENU_ENUM_LABEL_VIDEO_FRAME_DELAY, + PARSE_ONLY_UINT, false) == 0) + count++; + + if (MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(list, + MENU_ENUM_LABEL_VIDEO_FRAME_DELAY_AUTO, + PARSE_ONLY_BOOL, false) == 0) + count++; + if (MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(list, MENU_ENUM_LABEL_VRR_RUNLOOP_ENABLE, PARSE_ONLY_BOOL, false) == 0) @@ -9268,11 +9270,11 @@ unsigned menu_displaylist_build_list( bool preempt_enabled = settings->bools.preemptive_frames_enable; #endif menu_displaylist_build_info_selective_t build_list[] = { - {MENU_ENUM_LABEL_VIDEO_FRAME_DELAY, PARSE_ONLY_UINT, true }, - {MENU_ENUM_LABEL_VIDEO_FRAME_DELAY_AUTO, PARSE_ONLY_BOOL, true }, {MENU_ENUM_LABEL_AUDIO_LATENCY, PARSE_ONLY_UINT, true }, {MENU_ENUM_LABEL_INPUT_POLL_TYPE_BEHAVIOR, PARSE_ONLY_UINT, true }, {MENU_ENUM_LABEL_INPUT_BLOCK_TIMEOUT, PARSE_ONLY_UINT, true }, + {MENU_ENUM_LABEL_VIDEO_FRAME_DELAY, PARSE_ONLY_UINT, true }, + {MENU_ENUM_LABEL_VIDEO_FRAME_DELAY_AUTO, PARSE_ONLY_BOOL, true }, #ifdef HAVE_RUNAHEAD {MENU_ENUM_LABEL_RUN_AHEAD_ENABLED, PARSE_ONLY_BOOL, false }, {MENU_ENUM_LABEL_RUN_AHEAD_FRAMES, PARSE_ONLY_UINT, false },