Combine menu entries for RunAhead and Preemptive Frames (#17093)

This commit is contained in:
neil4 2024-10-14 06:21:09 -05:00 committed by GitHub
parent f886f620df
commit f85c9693a0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
38 changed files with 231 additions and 965 deletions

View File

@ -1427,8 +1427,6 @@
/* Hide warning messages when using the Run Ahead feature. */ /* Hide warning messages when using the Run Ahead feature. */
#define DEFAULT_RUN_AHEAD_HIDE_WARNINGS false #define DEFAULT_RUN_AHEAD_HIDE_WARNINGS false
/* Hide warning messages when using Preemptive Frames. */
#define DEFAULT_PREEMPT_HIDE_WARNINGS false
/* Enable stdin/network command interface. */ /* Enable stdin/network command interface. */
#define DEFAULT_NETWORK_CMD_ENABLE false #define DEFAULT_NETWORK_CMD_ENABLE false

View File

@ -1753,7 +1753,6 @@ static struct config_bool_setting *populate_settings_bool(
SETTING_BOOL("run_ahead_secondary_instance", &settings->bools.run_ahead_secondary_instance, true, DEFAULT_RUN_AHEAD_SECONDARY_INSTANCE, false); SETTING_BOOL("run_ahead_secondary_instance", &settings->bools.run_ahead_secondary_instance, true, DEFAULT_RUN_AHEAD_SECONDARY_INSTANCE, false);
SETTING_BOOL("run_ahead_hide_warnings", &settings->bools.run_ahead_hide_warnings, true, DEFAULT_RUN_AHEAD_HIDE_WARNINGS, false); SETTING_BOOL("run_ahead_hide_warnings", &settings->bools.run_ahead_hide_warnings, true, DEFAULT_RUN_AHEAD_HIDE_WARNINGS, false);
SETTING_BOOL("preemptive_frames_enable", &settings->bools.preemptive_frames_enable, true, false, false); SETTING_BOOL("preemptive_frames_enable", &settings->bools.preemptive_frames_enable, true, false, false);
SETTING_BOOL("preemptive_frames_hide_warnings", &settings->bools.preemptive_frames_hide_warnings, true, DEFAULT_PREEMPT_HIDE_WARNINGS, false);
#if HAVE_MENU #if HAVE_MENU
SETTING_BOOL("kiosk_mode_enable", &settings->bools.kiosk_mode_enable, true, DEFAULT_KIOSK_MODE_ENABLE, false); SETTING_BOOL("kiosk_mode_enable", &settings->bools.kiosk_mode_enable, true, DEFAULT_KIOSK_MODE_ENABLE, false);
#endif #endif

View File

@ -990,7 +990,6 @@ typedef struct settings
bool run_ahead_secondary_instance; bool run_ahead_secondary_instance;
bool run_ahead_hide_warnings; bool run_ahead_hide_warnings;
bool preemptive_frames_enable; bool preemptive_frames_enable;
bool preemptive_frames_hide_warnings;
bool pause_nonactive; bool pause_nonactive;
bool pause_on_disconnect; bool pause_on_disconnect;
bool block_sram_overwrite; bool block_sram_overwrite;

View File

@ -2826,26 +2826,10 @@ MSG_HASH(
/* Settings > Latency */ /* Settings > Latency */
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_ENABLED,
"ابدأ بتخفيض لاتفيا"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_ENABLED,
"تشغيل المنطق الأساسي واحد أو أكثر من الأطر القادمة ثم تحميل الحالة مرة أخرى لتقليل التخلف المتوقع في الإدخال."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES,
"عدد الإطارات إلى Run-Aforward" "عدد الإطارات إلى Run-Aforward"
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_SECONDARY_INSTANCE,
"استخدام المثيل الثاني للتشغيل"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_SECONDARY_INSTANCE,
"استخدم مثيل ثان من قلب RetroArch للمضي قدما. يمنع مشاكل الصوت بسبب حالة التحميل."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS,
"إخفاء التحذيرات" "إخفاء التحذيرات"

View File

@ -4410,14 +4410,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED, MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED,
"Бягучае ядро ​​несумяшчальнае з забяганнем праз адсутнасць дэтэрмінаванай падтрымкі захавання стану." "Бягучае ядро ​​несумяшчальнае з забяганнем праз адсутнасць дэтэрмінаванай падтрымкі захавання стану."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_ENABLED,
"Забяганне для скарачэння латэнтнасці"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_ENABLED,
"Апрацоўваць логіку ядра на адзін або больш кадраў наперад з наступным адкатам стану для памяншэння атрыманай затрымкі ўводу."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES,
"Колькасць кадраў забягання" "Колькасць кадраў забягання"
@ -4426,14 +4418,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES, MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES,
"Колькасць кадраў забягання. Выклікае нестабільнасць геймплэя пры завышэнні колькасці кадраў унутрагульнявой затрымкі." "Колькасць кадраў забягання. Выклікае нестабільнасць геймплэя пры завышэнні колькасці кадраў унутрагульнявой затрымкі."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_SECONDARY_INSTANCE,
"Выкарыстоўваць другасны экзэмпляр для забягання"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_SECONDARY_INSTANCE,
"Выкарыстоўваць для забягання другасны экзэмпляр ядра RetroArch. Прадухіляе праблемы з гукам падчас загрузкі стану."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS,
"Хаваць папярэджанні забягання" "Хаваць папярэджанні забягання"
@ -4442,22 +4426,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_SUBLABEL_RUN_AHEAD_HIDE_WARNINGS,
"Хаваць папярэджанні, якія паказваюцца пры выкарыстанні забягання з ядром без падтрымкі захавання станаў." "Хаваць папярэджанні, якія паказваюцца пры выкарыстанні забягання з ядром без падтрымкі захавання станаў."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_UNSUPPORTED,
"[Кадры апярэджання недаступныя]"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_UNSUPPORTED,
"Бягучае ядро ​​несумяшчальнае з кадрамі апярэджання праз адсутнасць дэтэрмінаванай падтрымкі захавання стану."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_ENABLE,
"Апрацоўка кадраў апярэджання"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_ENABLE,
"Паўторная апрацоўка логікі ядра з апошнімі падзеямі ўводу пры змене стану кантролера. Працуе хутчэй забегання, але можа выклікаць праблемы з гукам у ядраў пры загрузцы хуткіх захаванняў."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_FRAMES, MENU_ENUM_LABEL_VALUE_PREEMPT_FRAMES,
"Колькасць папярэджальных кадраў" "Колькасць папярэджальных кадраў"
@ -4466,14 +4434,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_FRAMES, MENU_ENUM_SUBLABEL_PREEMPT_FRAMES,
"Колькасць кадраў для паўторнай апрацоўкі. Выклікае няроўнасць геймплэя, калі перавышана колькасць кадраў унутрагульнявой затрымкі." "Колькасць кадраў для паўторнай апрацоўкі. Выклікае няроўнасць геймплэя, калі перавышана колькасць кадраў унутрагульнявой затрымкі."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_HIDE_WARNINGS,
"Хаваць паведамленні аб папярэджальных кадрах"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_HIDE_WARNINGS,
"Не паказваць папярэджанне пры несумяшчальнасці ядра з папярэджальнымі кадрамі."
)
/* Settings > Core */ /* Settings > Core */

View File

@ -3250,14 +3250,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED, MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED,
"El nucli actual és imcompatible amb la reducció predictiva de latència per mancar de suport de desats ràpids determinístics." "El nucli actual és imcompatible amb la reducció predictiva de latència per mancar de suport de desats ràpids determinístics."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_ENABLED,
"Reducció predictiva de latència"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_ENABLED,
"Executa la lògica del nucli un o més fotogrames de bestreta i després carrega un desat ràpid per minvar la latència d'entrada percebuda."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES,
"Nombre de fotogrames a la reducció predictiva" "Nombre de fotogrames a la reducció predictiva"
@ -3266,14 +3258,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES, MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES,
"Determina el nombre de fotogrames a executar de bestreta. Poden haver fluctuacions de senyal si el nombre de fotogrames endarrerits supera al valor intern del joc." "Determina el nombre de fotogrames a executar de bestreta. Poden haver fluctuacions de senyal si el nombre de fotogrames endarrerits supera al valor intern del joc."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_SECONDARY_INSTANCE,
"Usa una segona instància per a la reducció predictiva"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_SECONDARY_INSTANCE,
"Usa una segona instància del nucli RetroArch per portar a terme la reducció predictiva de latència. Capguarda els problemes d'àudio ocasionats al carregar desats ràpids."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS,
"Amagar avisos de la reducció predictiva" "Amagar avisos de la reducció predictiva"

View File

@ -4342,14 +4342,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED, MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED,
"由于缺少确定性存档支持,当前的核心与超前运行不兼容。" "由于缺少确定性存档支持,当前的核心与超前运行不兼容。"
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_ENABLED,
"超前运行以降低延迟"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_ENABLED,
"提前运行核心逻辑一帧或多帧,然后加载计算好的状态,以降低按键延迟卡顿。"
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES,
"超前运行的帧数" "超前运行的帧数"
@ -4358,14 +4350,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES, MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES,
"设置要超前运行的帧数。如果滞后于游戏本体的帧数将导致类似于抖动之类的游戏问题。" "设置要超前运行的帧数。如果滞后于游戏本体的帧数将导致类似于抖动之类的游戏问题。"
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_SECONDARY_INSTANCE,
"使用第二实例来超前运行"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_SECONDARY_INSTANCE,
"使用第二个全能模拟器核心实例来超前运行。防止加载状态导致的音频问题。"
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS,
"隐藏超前运行警告" "隐藏超前运行警告"
@ -4374,22 +4358,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_SUBLABEL_RUN_AHEAD_HIDE_WARNINGS,
"当使用「超前运行」功能而核心不支持即时存档时,隐藏警告信息。" "当使用「超前运行」功能而核心不支持即时存档时,隐藏警告信息。"
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_UNSUPPORTED,
"[优先帧不可用]"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_UNSUPPORTED,
"由于缺少确定性存档支持,当前的核心与[优先帧] 不兼容。"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_ENABLE,
"运行优先帧"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_ENABLE,
"当控制器状态发生变化时使用最新输入重新运行核心逻辑。 比超前运行更快,但核心载入时可能出现音频问题。"
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_FRAMES, MENU_ENUM_LABEL_VALUE_PREEMPT_FRAMES,
"设定优先帧数" "设定优先帧数"
@ -4398,14 +4366,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_FRAMES, MENU_ENUM_SUBLABEL_PREEMPT_FRAMES,
"设置要重新运行的帧数。如果滞后于游戏本体的帧数将导致类似于抖动之类的游戏问题。" "设置要重新运行的帧数。如果滞后于游戏本体的帧数将导致类似于抖动之类的游戏问题。"
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_HIDE_WARNINGS,
"隐藏优先帧警告"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_HIDE_WARNINGS,
"隐藏当核心与优先帧不兼容时出现的警告信息。"
)
/* Settings > Core */ /* Settings > Core */

View File

@ -3966,14 +3966,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED, MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED,
"不支援儲存即時存檔, 核心和超前執行不相容。" "不支援儲存即時存檔, 核心和超前執行不相容。"
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_ENABLED,
"開啟超前執行"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_ENABLED,
"執行虛擬核心邏輯超前一幀或多幀, 接收到控制器輸入時載入, 用於降低按鍵輸入延遲。"
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES,
"超前執行幀數" "超前執行幀數"
@ -3982,14 +3974,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES, MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES,
"設定超前執行的幀數, 如果超過遊戲內設定的延遲幀數, 會導致遊戲畫面發生錯誤。" "設定超前執行的幀數, 如果超過遊戲內設定的延遲幀數, 會導致遊戲畫面發生錯誤。"
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_SECONDARY_INSTANCE,
"第二實例超前執行"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_SECONDARY_INSTANCE,
"使用第二個應用程式核心實例進行超前執行, 防止載入即時存檔時產生音訊問題。"
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS,
"隱藏超前執行警告" "隱藏超前執行警告"
@ -3998,22 +3982,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_SUBLABEL_RUN_AHEAD_HIDE_WARNINGS,
"隱藏開啟超前執行時, 核心不支援即時存檔的警告通知。" "隱藏開啟超前執行時, 核心不支援即時存檔的警告通知。"
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_UNSUPPORTED,
"[搶占幀數無法使用]"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_UNSUPPORTED,
"不支援儲存即時存檔, 核心和搶占幀數不相容。"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_ENABLE,
"開啟搶占幀數"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_ENABLE,
"控制器輸入時重新執行核心邏輯, 比超前執行更快, 但核心載入時可能出現音訊的問題。"
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_FRAMES, MENU_ENUM_LABEL_VALUE_PREEMPT_FRAMES,
"設定搶占幀數" "設定搶占幀數"
@ -4022,14 +3990,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_FRAMES, MENU_ENUM_SUBLABEL_PREEMPT_FRAMES,
"設定重新執行的幀數, 如果超過遊戲內設定的延遲幀數, 會導致遊戲畫面發生錯誤。" "設定重新執行的幀數, 如果超過遊戲內設定的延遲幀數, 會導致遊戲畫面發生錯誤。"
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_HIDE_WARNINGS,
"隱藏搶占幀數警告"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_HIDE_WARNINGS,
"隱藏開啟搶占幀數時, 核心不支援即時存檔的警告通知。"
)
/* Settings > Core */ /* Settings > Core */

View File

@ -4154,14 +4154,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED, MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED,
"Současné jádro je nekompatibilní s run-ahead kvůli chybějící podpoře deterministického ukládání pozic." "Současné jádro je nekompatibilní s run-ahead kvůli chybějící podpoře deterministického ukládání pozic."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_ENABLED,
"Run-Ahead pro snížení zpoždění"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_ENABLED,
"Spusťte logiku jádra o jeden nebo více snímků dopředu a poté načtěte stav zpět, abyste snížili vnímané zpoždění vstupu."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES,
"Počet snímků do režimu Run-Ahead" "Počet snímků do režimu Run-Ahead"
@ -4170,14 +4162,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES, MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES,
"Počet snímků, které se mají spustit dopředu. Způsobuje problémy s hraním, například trhání, pokud je překročen počet interních zpožděných snímků." "Počet snímků, které se mají spustit dopředu. Způsobuje problémy s hraním, například trhání, pokud je překročen počet interních zpožděných snímků."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_SECONDARY_INSTANCE,
"Použít druhý stupeň Run-Ahead"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_SECONDARY_INSTANCE,
"Použijte druhou instanci jádra RetroArch pro run-ahead. Zabraňuje problémům se zvukem způsobeným stavem načítání."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS,
"Skryt varování Run-Ahead" "Skryt varování Run-Ahead"
@ -4186,22 +4170,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_SUBLABEL_RUN_AHEAD_HIDE_WARNINGS,
"Skrytí varovné zprávy, která se zobrazí při použití funkce Run-Ahead a jádro nepodporuje uložení pozice." "Skrytí varovné zprávy, která se zobrazí při použití funkce Run-Ahead a jádro nepodporuje uložení pozice."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_UNSUPPORTED,
"[Preemptivní snímky nejsou k dispozici]"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_UNSUPPORTED,
"Současné jádro není kompatibilní s preemptivními rámci kvůli chybějící podpoře deterministického stavu ukládání."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_ENABLE,
"Spuštění preemptivních snímků"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_ENABLE,
"Znovu spustit logiku jádra s posledním vstupem, když se změní stav regulátoru. Rychlejší než Run-Ahead, ale nezabrání problémům se zvukem, které mohou jádra mít s načítáním stavů."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_FRAMES, MENU_ENUM_LABEL_VALUE_PREEMPT_FRAMES,
"Počet preemptivních snímků" "Počet preemptivních snímků"
@ -4210,14 +4178,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_FRAMES, MENU_ENUM_SUBLABEL_PREEMPT_FRAMES,
"Počet snímků, které se mají znovu spustit. Způsobuje problémy s hraním, například trhání, pokud je překročen počet zpožděných snímků interně ve hře." "Počet snímků, které se mají znovu spustit. Způsobuje problémy s hraním, například trhání, pokud je překročen počet zpožděných snímků interně ve hře."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_HIDE_WARNINGS,
"Skrytí varování před preventivními snímky"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_HIDE_WARNINGS,
"Skrytí varovné zprávy, která se zobrazí, když je jádro nekompatibilní s preemptivními snímky."
)
/* Settings > Core */ /* Settings > Core */

View File

@ -4286,14 +4286,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED, MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED,
"Der aktuelle Core ist aufgrund fehlender deterministischer Savestate-Unterstützung nicht mit Run-ahead kompatibel." "Der aktuelle Core ist aufgrund fehlender deterministischer Savestate-Unterstützung nicht mit Run-ahead kompatibel."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_ENABLED,
"Run-Ahead zur Reduzierung der Latenz"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_ENABLED,
"Führt die Core-Logik einen oder mehrere Frames voraus aus und lädt den vorherigen Zustand zurück, um die wahrgenommene Eingangsverzögerung zu verringern."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES,
"Anzahl der Run-Ahead-Frames" "Anzahl der Run-Ahead-Frames"
@ -4302,14 +4294,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES, MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES,
"Die Anzahl Frames, die im Voraus ausgeführt werden sollen. Verursacht Gameplay-Probleme wie z. B. Ruckeln, wenn die Anzahl der spielinternen Verzögerungsframes überschritten wird." "Die Anzahl Frames, die im Voraus ausgeführt werden sollen. Verursacht Gameplay-Probleme wie z. B. Ruckeln, wenn die Anzahl der spielinternen Verzögerungsframes überschritten wird."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_SECONDARY_INSTANCE,
"Zweite Instanz für Run-Ahead verwenden"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_SECONDARY_INSTANCE,
"Für das Run-Ahead eine zweite Instanz des RetroArch-Cores verwenden. Vermeidet Audioprobleme."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS,
"Run-Ahead Warnungen ausblenden" "Run-Ahead Warnungen ausblenden"
@ -4318,22 +4302,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_SUBLABEL_RUN_AHEAD_HIDE_WARNINGS,
"Blendet die Warnmeldung aus, die bei Verwendung von Run-Ahead angezeigt wird wenn der Core keine Savestates unterstützt." "Blendet die Warnmeldung aus, die bei Verwendung von Run-Ahead angezeigt wird wenn der Core keine Savestates unterstützt."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_UNSUPPORTED,
"[Präemptive Frames nicht verfügbar]"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_UNSUPPORTED,
"Der aktuelle Core ist nicht mit präemptiven Frames kompatibel aufgrund fehlender deterministischer Savestateunterstützung."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_ENABLE,
"Präemptive Frames ausführen"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_ENABLE,
"Führt die Corelogik mit der letzten Eingabe erneut aus, wenn sich der Status des Controllers ändert. Schneller als Run-Ahead, verhindert aber nicht Audioprobleme, die Cores beim Laden von Savestates haben können."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_FRAMES, MENU_ENUM_LABEL_VALUE_PREEMPT_FRAMES,
"Anzahl präemptiver Frames" "Anzahl präemptiver Frames"
@ -4342,14 +4310,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_FRAMES, MENU_ENUM_SUBLABEL_PREEMPT_FRAMES,
"Die Anzahl Frames, die im Voraus ausgeführt werden sollen. Verursacht Gameplayprobleme wie z. B. Ruckeln, wenn die Anzahl der spielinternen Verzögerungsframes überschritten wird." "Die Anzahl Frames, die im Voraus ausgeführt werden sollen. Verursacht Gameplayprobleme wie z. B. Ruckeln, wenn die Anzahl der spielinternen Verzögerungsframes überschritten wird."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_HIDE_WARNINGS,
"Warnungen für präemptive Frames ausblenden"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_HIDE_WARNINGS,
"Die Warnmeldung verbergen, die erscheint, wenn ein Core nicht mit präemptive Frames kompatibel ist."
)
/* Settings > Core */ /* Settings > Core */

View File

@ -746,30 +746,10 @@ MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_UNSUPPORTED, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_UNSUPPORTED,
"[Run-Ahead is Unavailable]" "[Run-Ahead is Unavailable]"
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_UNSUPPORTED,
"[Pre-emptive Frames Unavailable]"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_UNSUPPORTED,
"Current core is incompatible with pre-emptive frames due to lack of deterministic save state support."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_ENABLE,
"Run Pre-emptive Frames"
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_FRAMES, MENU_ENUM_LABEL_VALUE_PREEMPT_FRAMES,
"Number of Pre-emptive Frames" "Number of Pre-emptive Frames"
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_HIDE_WARNINGS,
"Hide Pre-emptive Frames Warnings"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_HIDE_WARNINGS,
"Hide the warning message that appears when a core is incompatible with pre-emptive frames."
)
/* Settings > Core */ /* Settings > Core */

View File

@ -4386,14 +4386,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED, MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED,
"El núcleo actual no es compatible con la reducción predictiva de latencia por no tener soporte para guardados rápidos determinísticos." "El núcleo actual no es compatible con la reducción predictiva de latencia por no tener soporte para guardados rápidos determinísticos."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_ENABLED,
"Reducción predictiva de latencia"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_ENABLED,
"Ejecuta la lógica del núcleo uno o más fotogramas por anticipado y luego carga un guardado rápido para reducir la latencia de entrada percibida."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES,
"Fotogramas a calcular en la reducción predictiva" "Fotogramas a calcular en la reducción predictiva"
@ -4402,14 +4394,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES, MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES,
"Ajusta el número de fotogramas a ejecutar de forma anticipada. Puede haber distorsiones visuales si el número de fotogramas retrasados supera al valor interno del juego." "Ajusta el número de fotogramas a ejecutar de forma anticipada. Puede haber distorsiones visuales si el número de fotogramas retrasados supera al valor interno del juego."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_SECONDARY_INSTANCE,
"Usar una segunda instancia para la reducción predictiva"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_SECONDARY_INSTANCE,
"Utiliza una segunda instancia del núcleo RetroArch para llevar a cabo la reducción predictiva de latencia. Previene los problemas de audio causados al cargar guardados rápidos."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS,
"Ocultar advertencias de reducción predictiva" "Ocultar advertencias de reducción predictiva"
@ -4418,22 +4402,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_SUBLABEL_RUN_AHEAD_HIDE_WARNINGS,
"Oculta el mensaje de advertencia que aparece al usar la reducción predictiva de latencia si el núcleo no es compatible con los guardados rápidos." "Oculta el mensaje de advertencia que aparece al usar la reducción predictiva de latencia si el núcleo no es compatible con los guardados rápidos."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_UNSUPPORTED,
"[Sistema de fotogramas preventivos no disponible]"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_UNSUPPORTED,
"El núcleo actual no es compatible con el sistema de fotogramas preventivos por no tener soporte para guardados rápidos determinísticos."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_ENABLE,
"Ejecutar fotogramas preventivos"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_ENABLE,
"Ejecuta varias veces la lógica del núcleo con las últimas acciones de entrada en cuanto cambie el estado del mando. Este sistema es más rápido que la reducción predictiva de latencia, pero no evita los problemas de audio que podrían tener los núcleos al cargar guardados rápidos."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_FRAMES, MENU_ENUM_LABEL_VALUE_PREEMPT_FRAMES,
"N.º de fotogramas preventivos" "N.º de fotogramas preventivos"
@ -4442,14 +4410,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_FRAMES, MENU_ENUM_SUBLABEL_PREEMPT_FRAMES,
"Ajusta el número de fotogramas preventivos que se ejecutarán. Puede haber distorsiones visuales si el número de fotogramas retrasados supera al valor interno del juego." "Ajusta el número de fotogramas preventivos que se ejecutarán. Puede haber distorsiones visuales si el número de fotogramas retrasados supera al valor interno del juego."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_HIDE_WARNINGS,
"Ocultar advertencias de fotogramas preventivos"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_HIDE_WARNINGS,
"Oculta el mensaje de advertencia que aparecerá cuando un núcleo no sea compatible con el sistema de fotogramas preventivos."
)
/* Settings > Core */ /* Settings > Core */

View File

@ -2534,10 +2534,6 @@ MSG_HASH(
/* Settings > Latency */ /* Settings > Latency */
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_SECONDARY_INSTANCE,
"برای دوباره اجراشدن از نمونه دوم از هسته رترو‌آرچ استفاده می‌کند. از مشکلات صدا در هنگام بارگیری وضعیت جلوگیری می‌شود."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS,
"مخفی کردن هشدار های بازاجرایی" "مخفی کردن هشدار های بازاجرایی"

View File

@ -3898,26 +3898,10 @@ MSG_HASH(
/* Settings > Latency */ /* Settings > Latency */
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_ENABLED,
"Edelläaja vähentääksesi viivettä"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_ENABLED,
"Suorita ydinlogiikkaa yksi tai useampi kuva edellä ja lataa sitten tila takaisin vähentäen koettua syöteviivettä."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES,
"Edellä olevien kuvien lukumäärä" "Edellä olevien kuvien lukumäärä"
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_SECONDARY_INSTANCE,
"Käytä toista instanssia edelläajossa"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_SECONDARY_INSTANCE,
"Käytä RetroArchin ytimen toista instanssia edelläajoon. Estää pelitilalatauksen aiheuttamia ääniongelmia."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS,
"Piilota edelläajoon liittyvät varoitukset" "Piilota edelläajoon liittyvät varoitukset"

View File

@ -4346,14 +4346,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED, MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED,
"Le cœur actuel est incompatible avec l'exécution en avance en raison de la non prise en charge de la sauvegarde instantanée déterministe." "Le cœur actuel est incompatible avec l'exécution en avance en raison de la non prise en charge de la sauvegarde instantanée déterministe."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_ENABLED,
"Exécuter en avance pour réduire la latence"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_ENABLED,
"Exécute la logique du cœur une ou plusieurs images à l'avance, puis recharge l'état précédent pour réduire la latence perçue à chaque touche pressée."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES,
"Nombre d'images à éxecuter en avance" "Nombre d'images à éxecuter en avance"
@ -4362,14 +4354,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES, MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES,
"Nombre d'images à exécuter en avance. Provoque des problèmes de jeu tels que des variations de la latence si le nombre d'images de latence interne du jeu est dépassé." "Nombre d'images à exécuter en avance. Provoque des problèmes de jeu tels que des variations de la latence si le nombre d'images de latence interne du jeu est dépassé."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_SECONDARY_INSTANCE,
"Utiliser une instance secondaire pour l'exécution en avance"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_SECONDARY_INSTANCE,
"Utilise une seconde instance du cœur RetroArch pour l'exécution en avance. Empêche les problèmes audio dus au chargement de l'état précédent."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS,
"Masquer les avertissements pour l'exécution en avance" "Masquer les avertissements pour l'exécution en avance"
@ -4378,22 +4362,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_SUBLABEL_RUN_AHEAD_HIDE_WARNINGS,
"Masque le message d'avertissement qui apparaît lors de l'utilisation de l'exécution en avance si le cœur ne prend pas en charge les sauvegardes instantanées." "Masque le message d'avertissement qui apparaît lors de l'utilisation de l'exécution en avance si le cœur ne prend pas en charge les sauvegardes instantanées."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_UNSUPPORTED,
"[Images préemptives indisponibles]"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_UNSUPPORTED,
"Le cœur actuel est incompatible avec les images préemptives en raison de la non prise en charge de la sauvegarde instantanée déterministe."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_ENABLE,
"Exécuter des images préemptives"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_ENABLE,
"Relancer la logique du cœur avec la dernière entrée lorsque l'état du contrôleur change. Plus rapide que l'exécution en avance, mais ne prévient pas les problèmes audio qui peuvent survenir avec le chargement des sauvegardes instantanées."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_FRAMES, MENU_ENUM_LABEL_VALUE_PREEMPT_FRAMES,
"Nombre d'images préemptives" "Nombre d'images préemptives"
@ -4402,14 +4370,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_FRAMES, MENU_ENUM_SUBLABEL_PREEMPT_FRAMES,
"Nombre d'images à relancer. Provoque des problèmes de jeu tels que des variations de la latence si le nombre d'images de latence interne du jeu est dépassé." "Nombre d'images à relancer. Provoque des problèmes de jeu tels que des variations de la latence si le nombre d'images de latence interne du jeu est dépassé."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_HIDE_WARNINGS,
"Masquer les avertissements des images préemptives"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_HIDE_WARNINGS,
"Masquer le message d'avertissement qui apparaît lorsqu'un cœur est incompatible avec les images préemptives."
)
/* Settings > Core */ /* Settings > Core */

View File

@ -4310,14 +4310,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED, MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED,
"O núcleo actual é incompatible con adiante debido á falta de soporte determinista para o estado de gardado." "O núcleo actual é incompatible con adiante debido á falta de soporte determinista para o estado de gardado."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_ENABLED,
"Run-ahead para reducir a latencia"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_ENABLED,
"Execute a lóxica central un ou máis fotogramas por diante e despois cargue o estado de novo para reducir o atraso de entrada percibido."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES,
"Número de fotogramas para correr adiante" "Número de fotogramas para correr adiante"
@ -4326,14 +4318,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES, MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES,
"O número de fotogramas que se van adiante. Causa problemas de xogo, como tremores, se se supera o número de fotogramas de atraso internos do xogo." "O número de fotogramas que se van adiante. Causa problemas de xogo, como tremores, se se supera o número de fotogramas de atraso internos do xogo."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_SECONDARY_INSTANCE,
"Use a segunda instancia para Run-Ahead"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_SECONDARY_INSTANCE,
"Use unha segunda instancia do núcleo de RetroArch para avanzar. Evita problemas de audio debido ao estado de carga."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS,
"Ocultar avisos de adianto" "Ocultar avisos de adianto"
@ -4342,22 +4326,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_SUBLABEL_RUN_AHEAD_HIDE_WARNINGS,
"Oculta a mensaxe de aviso que aparece ao usar Run-Ahead e o núcleo non admite os estados de gardar." "Oculta a mensaxe de aviso que aparece ao usar Run-Ahead e o núcleo non admite os estados de gardar."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_UNSUPPORTED,
"[Fotogramas preventivos non dispoñibles]"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_UNSUPPORTED,
"O núcleo actual é incompatible con fotogramas preventivos debido á falta de soporte determinista para o estado de gardar."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_ENABLE,
"Executar fotogramas preventivos"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_ENABLE,
"Volve executar a lóxica principal coa entrada máis recente cando o estado do controlador cambie. Máis rápido que Run-Ahead, pero non evita problemas de audio que poden ter os núcleos cos estados de carga."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_FRAMES, MENU_ENUM_LABEL_VALUE_PREEMPT_FRAMES,
"Número de fotogramas preventivos" "Número de fotogramas preventivos"
@ -4366,14 +4334,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_FRAMES, MENU_ENUM_SUBLABEL_PREEMPT_FRAMES,
"O número de fotogramas para volver executar. Causa problemas de xogo, como tremores, se se supera o número de fotogramas de atraso internos do xogo." "O número de fotogramas para volver executar. Causa problemas de xogo, como tremores, se se supera o número de fotogramas de atraso internos do xogo."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_HIDE_WARNINGS,
"Ocultar avisos de fotogramas preventivos"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_HIDE_WARNINGS,
"Oculta a mensaxe de aviso que aparece cando un núcleo é incompatible cos fotogramas preventivos."
)
/* Settings > Core */ /* Settings > Core */

View File

@ -4382,14 +4382,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED, MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED,
"A jelenlegi mag nem kompatibilis a run-ahead funkcióval a determinisztikus játékállás mentés hiánya miatt." "A jelenlegi mag nem kompatibilis a run-ahead funkcióval a determinisztikus játékállás mentés hiánya miatt."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_ENABLED,
"Run-ahead használata"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_ENABLED,
"A mag továbbfuttatása egy vagy több képkockával, majd az állás visszatöltése, az érzékelt bemeneti késleltetés csökkentése érdekében."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES,
"Run-ahead képkockák száma" "Run-ahead képkockák száma"
@ -4398,14 +4390,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES, MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES,
"Az előre generált képkockák száma. Ha nagyobb, mint a játék belső késleltetése, gondot okozhat a játékmenetben, például rángatást." "Az előre generált képkockák száma. Ha nagyobb, mint a játék belső késleltetése, gondot okozhat a játékmenetben, például rángatást."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_SECONDARY_INSTANCE,
"Második példány a run-ahead funkcióhoz"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_SECONDARY_INSTANCE,
"Egy második RetroArch mag futtatása a run-ahead funkcióhoz. Megelőzi az állásbetöltés miatt fellépő hangproblémákat."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS,
"Run-ahead figyelmeztetések elrejtése" "Run-ahead figyelmeztetések elrejtése"
@ -4414,22 +4398,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_SUBLABEL_RUN_AHEAD_HIDE_WARNINGS,
"A figyelmeztető üzenet elrejtése, ami akkor jelenik meg, ha a run-ahead-et azt nem támogató magnál próbálják bekapcsolni." "A figyelmeztető üzenet elrejtése, ami akkor jelenik meg, ha a run-ahead-et azt nem támogató magnál próbálják bekapcsolni."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_UNSUPPORTED,
"[Az előre generált képkockák nem elérhetőek]"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_UNSUPPORTED,
"A jelenlegi mag nem kompatibilis az előre generált képkockák funkcióval, a determinisztikus játékállás mentés hiánya miatt."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_ENABLE,
"Előre generált képkockák futtatása"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_ENABLE,
"A mag logikájának újrafuttatása az utolsó bemeneti állapottal, amikor a kontroller állapota megváltozik. Gyorsabb a Run-Ahead-nél, de nem gátolja meg a hangproblémákat, amelyek néhány magnál állásbetöltéskor jelentkeznek."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_FRAMES, MENU_ENUM_LABEL_VALUE_PREEMPT_FRAMES,
"Előre generált képkockák száma" "Előre generált képkockák száma"
@ -4438,14 +4406,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_FRAMES, MENU_ENUM_SUBLABEL_PREEMPT_FRAMES,
"Az újrafuttatott képkockák száma. Ha nagyobb, mint a játék belső késleltetése, gondot okozhat a játékmenetben, például rángatást." "Az újrafuttatott képkockák száma. Ha nagyobb, mint a játék belső késleltetése, gondot okozhat a játékmenetben, például rángatást."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_HIDE_WARNINGS,
"Az előre generált képkockák figyelmeztetéseinek elrejtése"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_HIDE_WARNINGS,
"A figyelmeztetés elrejtése, amely akkor jelenik meg, ha a mag nem kompatibilis az előre generált képkockák funkcióval."
)
/* Settings > Core */ /* Settings > Core */

View File

@ -4318,14 +4318,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED, MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED,
"Il nucleo attuale è incompatibile con il run-ahead a causa della mancanza del salvataggio di stato deterministico." "Il nucleo attuale è incompatibile con il run-ahead a causa della mancanza del salvataggio di stato deterministico."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_ENABLED,
"Run-Ahead - Riduzione della Latenza"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_ENABLED,
"Eseguire la logica di un core per uno o più fotogrammi avanti, e dopo caricare lo stato di nuovo per ridurre il ritardo percepito in ingresso."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES,
"Run-Ahead - Numero di Frame da Anticipare" "Run-Ahead - Numero di Frame da Anticipare"
@ -4334,14 +4326,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES, MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES,
"Il numero di fotogrammi da eseguire in anticipo. Causa problemi di gameplay come il jitter se il numero di fotogrammi di ritardo interni al gioco viene superato." "Il numero di fotogrammi da eseguire in anticipo. Causa problemi di gameplay come il jitter se il numero di fotogrammi di ritardo interni al gioco viene superato."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_SECONDARY_INSTANCE,
"Run-Ahead - Usa una Seconda Istanza"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_SECONDARY_INSTANCE,
"Usa una seconda instanza del core di RetroArch per l'anticipazione predittiva. Previene problemi audio dovuti al costante caricamento di uno stato di salvataggio."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS,
"Nascondi Avvisi sull'Anticipazione" "Nascondi Avvisi sull'Anticipazione"
@ -4350,22 +4334,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_SUBLABEL_RUN_AHEAD_HIDE_WARNINGS,
"Nascondi il messaggio di avviso che appare quando si usa l'Anticipazione e il core non supporta gli stati di salvataggio." "Nascondi il messaggio di avviso che appare quando si usa l'Anticipazione e il core non supporta gli stati di salvataggio."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_UNSUPPORTED,
"[Frame Preventivi Non Disponibili]"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_UNSUPPORTED,
"Il core attuale è incompatibile con i fotogrammi preventivi a causa della mancanza di un sostegno di Stato deterministico di salvataggio."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_ENABLE,
"Esegui Frame Preventivi"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_ENABLE,
"Rerun core logic con l'ultimo input quando lo stato del controller cambia. Più veloce di Run-Ahead, ma non impedisce i problemi audio core possono avere con gli stati di caricamento."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_FRAMES, MENU_ENUM_LABEL_VALUE_PREEMPT_FRAMES,
"Numero di frame preventivi" "Numero di frame preventivi"
@ -4374,14 +4342,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_FRAMES, MENU_ENUM_SUBLABEL_PREEMPT_FRAMES,
"Il numero di fotogrammi da riprodurre. Causa problemi di gameplay come il jitter se il numero di fotogrammi di ritardo interni al gioco viene superato." "Il numero di fotogrammi da riprodurre. Causa problemi di gameplay come il jitter se il numero di fotogrammi di ritardo interni al gioco viene superato."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_HIDE_WARNINGS,
"Nascondi Avvertenze frame preventivi"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_HIDE_WARNINGS,
"Nascondi il messaggio di avviso che appare quando un nucleo è incompatibile con i frame preventivi."
)
/* Settings > Core */ /* Settings > Core */

View File

@ -4366,14 +4366,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED, MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED,
"現在のコアは確定的なステートセーブの対応がないため、先行実行との互換性がありません。" "現在のコアは確定的なステートセーブの対応がないため、先行実行との互換性がありません。"
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_ENABLED,
"先行実行して遅延を減らす"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_ENABLED,
"コアロジックを 1 フレーム以上先に実行し、ステートをロードし直すことで認識された入力遅延を軽減します。"
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES,
"先行実行するフレーム数" "先行実行するフレーム数"
@ -4382,14 +4374,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES, MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES,
"先行実行するフレームの数です。ゲーム内部のラグフレーム数を超えると、ジッターなどのゲームプレイの問題が発生します。" "先行実行するフレームの数です。ゲーム内部のラグフレーム数を超えると、ジッターなどのゲームプレイの問題が発生します。"
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_SECONDARY_INSTANCE,
"先行実行に 2 番目のインスタンスを使用"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_SECONDARY_INSTANCE,
"RetroArch コアのセカンダリインスタンスを使用して先行実行します。ステートロードによるオーディオの問題を防止します。"
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS,
"先行実行の警告を隠す" "先行実行の警告を隠す"
@ -4398,22 +4382,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_SUBLABEL_RUN_AHEAD_HIDE_WARNINGS,
"先行実行を使用する際、コアがステートセーブに対応していない場合に表示される警告メッセージを非表示にします。" "先行実行を使用する際、コアがステートセーブに対応していない場合に表示される警告メッセージを非表示にします。"
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_UNSUPPORTED,
"[先制フレームを利用できません]"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_UNSUPPORTED,
"現在のコアは確定的なステートセーブの対応がないため、先制フレームとの互換性がありません。"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_ENABLE,
"先制フレームを実行"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_ENABLE,
"コントローラーの状態が変更されたとき、最新の入力でコアロジックを再実行します。先行実行より高速ですが、ステートロードでコアに発生する可能性があるオーディオの問題を防止できません。"
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_FRAMES, MENU_ENUM_LABEL_VALUE_PREEMPT_FRAMES,
"先制フレーム数" "先制フレーム数"
@ -4422,14 +4390,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_FRAMES, MENU_ENUM_SUBLABEL_PREEMPT_FRAMES,
"再実行するフレームの数です。ゲーム内部のラグフレームの数を越えた場合、ジッターなどのゲームプレイの問題が発生します。" "再実行するフレームの数です。ゲーム内部のラグフレームの数を越えた場合、ジッターなどのゲームプレイの問題が発生します。"
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_HIDE_WARNINGS,
"先制フレームの警告を隠す"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_HIDE_WARNINGS,
"コアが先制フレームと互換性がない場合に表示される警告メッセージを隠します。"
)
/* Settings > Core */ /* Settings > Core */

View File

@ -4422,14 +4422,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED, MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED,
"이 코어는 결정식 상태저장을 지원하지 않아 미리 실행과 호환되지 않습니다." "이 코어는 결정식 상태저장을 지원하지 않아 미리 실행과 호환되지 않습니다."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_ENABLED,
"미리 실행으로 지연 줄이기"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_ENABLED,
"하나 혹은 그 이상의 프레임을 먼저 실행하고 이전 상태로 되돌리는 방식을 통해 입력지연을 줄여줍니다."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES,
"미리 실행할 프레임 수" "미리 실행할 프레임 수"
@ -4438,14 +4430,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES, MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES,
"먼저 실행할 프레임 수를 설정합니다. 게임 자체의 지연 프레임을 넘어설 경우 화면이 떨리는 등 게임플레이에 문제가 생길 수 있습니다." "먼저 실행할 프레임 수를 설정합니다. 게임 자체의 지연 프레임을 넘어설 경우 화면이 떨리는 등 게임플레이에 문제가 생길 수 있습니다."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_SECONDARY_INSTANCE,
"미리 실행에 두 번째 인스턴스 사용"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_SECONDARY_INSTANCE,
"미리 실행에 두 번째 인스턴스를 사용합니다. 상태저장 불러오기 중에 발생하는 오디오 문제를 해결할 수 있습니다."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS,
"미리 실행 경고 숨김" "미리 실행 경고 숨김"
@ -4454,22 +4438,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_SUBLABEL_RUN_AHEAD_HIDE_WARNINGS,
"상태저장을 지원하지 않는 코어에서 미리 실행 사용 시 경고 메시지를 표시하지 않습니다." "상태저장을 지원하지 않는 코어에서 미리 실행 사용 시 경고 메시지를 표시하지 않습니다."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_UNSUPPORTED,
"[선제 프레임 기능 사용불가]"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_UNSUPPORTED,
"이 코어는 결정식 상태저장을 지원하지 않아 선제 프레임 기능과 호환되지 않습니다."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_ENABLE,
"선제 프레임 실행"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_ENABLE,
"컨트롤러 상태가 변경되면 최근 입력으로 코어 로직을 다시 실행합니다. 미리실행보다 빠르지만 상태 불러오기에서 코어에 발생할 수 있는 오디오 문제를 막지는 못합니다."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_FRAMES, MENU_ENUM_LABEL_VALUE_PREEMPT_FRAMES,
"선제 프레임 수" "선제 프레임 수"
@ -4478,14 +4446,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_FRAMES, MENU_ENUM_SUBLABEL_PREEMPT_FRAMES,
"다시 실행할 프레임 수를 설정합니다. 게임 자체의 지연 프레임을 넘어설 경우 화면이 떨리는 등 게임플레이에 문제가 생길 수 있습니다." "다시 실행할 프레임 수를 설정합니다. 게임 자체의 지연 프레임을 넘어설 경우 화면이 떨리는 등 게임플레이에 문제가 생길 수 있습니다."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_HIDE_WARNINGS,
"선제 프레임 경고 숨김"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_HIDE_WARNINGS,
"선제 프레임 기능 사용시 호환되지 않는 코어에서 보이는 경고 메시지를 숨김니다."
)
/* Settings > Core */ /* Settings > Core */

View File

@ -3765,12 +3765,8 @@ MSG_HASH(
"run_ahead_unsupported" "run_ahead_unsupported"
) )
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_RUN_AHEAD_ENABLED, MENU_ENUM_LABEL_RUNAHEAD_MODE,
"run_ahead_enabled" "run_ahead_mode"
)
MSG_HASH(
MENU_ENUM_LABEL_RUN_AHEAD_SECONDARY_INSTANCE,
"run_ahead_secondary_instance"
) )
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_LABEL_RUN_AHEAD_HIDE_WARNINGS,
@ -3780,18 +3776,6 @@ MSG_HASH(
MENU_ENUM_LABEL_RUN_AHEAD_FRAMES, MENU_ENUM_LABEL_RUN_AHEAD_FRAMES,
"run_ahead_frames" "run_ahead_frames"
) )
MSG_HASH(
MENU_ENUM_LABEL_PREEMPT_ENABLE,
"preemptive_frames_enable"
)
MSG_HASH(
MENU_ENUM_LABEL_PREEMPT_UNSUPPORTED,
"preemptive_frames_unsupported"
)
MSG_HASH(
MENU_ENUM_LABEL_PREEMPT_HIDE_WARNINGS,
"preemptive_frames_hide_warnings"
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_PREEMPT_FRAMES, MENU_ENUM_LABEL_PREEMPT_FRAMES,
"preemptive_frames" "preemptive_frames"

View File

@ -3518,14 +3518,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED, MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED,
"De huidige core is onverenigbaar met run-ahead vanwege een gebrek aan deterministische slaagstaat-ondersteuning." "De huidige core is onverenigbaar met run-ahead vanwege een gebrek aan deterministische slaagstaat-ondersteuning."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_ENABLED,
"Run-Ahead om de Vertraging te Verminderen"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_ENABLED,
"Voer core-logica één of meer frames vooruit en laad de staat terug om de waargenomen invoervertraging te verminderen."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES,
"Aantal Frames om Vooruit te Lopen" "Aantal Frames om Vooruit te Lopen"
@ -3534,14 +3526,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES, MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES,
"Het aantal frames dat vooruit moet lopen. Veroorzaakt gameplay-problemen zoals jitter als het aantal lag-frames in de game wordt overschreden." "Het aantal frames dat vooruit moet lopen. Veroorzaakt gameplay-problemen zoals jitter als het aantal lag-frames in de game wordt overschreden."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_SECONDARY_INSTANCE,
"Tweede Instantie voor Run-Ahead gebruiken"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_SECONDARY_INSTANCE,
"Gebruik een tweede instantie van de RetroArch-core om vooruit te lopen. Voorkomt audioproblemen door laadstatus."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS,
"Verberg Run-Ahead Waarschuwingen" "Verberg Run-Ahead Waarschuwingen"

View File

@ -4014,26 +4014,10 @@ MSG_HASH(
/* Settings > Latency */ /* Settings > Latency */
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_ENABLED,
"Uruchomienie z wyprzedzeniem aby zmniejszyć opóźnienia"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_ENABLED,
"Uruchom logikę rdzenia o jedną lub więcej klatek z wyprzedzeniem, a następnie załaduj stan z powrotem, aby zmniejszyć postrzegane opóźnienie wejścia."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES,
"Liczba klatek uruchomienia z wyprzedzeniem" "Liczba klatek uruchomienia z wyprzedzeniem"
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_SECONDARY_INSTANCE,
"Użyj drugiej instancji dla uruchomienia z wyprzedzeniem"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_SECONDARY_INSTANCE,
"Użyj drugiej instancji rdzenia RetroArch do uruchomienia z wyprzedzeniem. Zapobiega problemom dźwiękowym z powodu ładowania stanu."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS,
"Ukryj ostrzeżenia uruchomienia z wyprzedzeniem" "Ukryj ostrzeżenia uruchomienia z wyprzedzeniem"

View File

@ -3826,14 +3826,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED, MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED,
"Núcleo atual é incompatível com a execução antecipada, porque não tem suporte determinístico ao jogo salvo." "Núcleo atual é incompatível com a execução antecipada, porque não tem suporte determinístico ao jogo salvo."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_ENABLED,
"Execução antecipada para reduzir a latência"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_ENABLED,
"Executa a lógica do núcleo um ou mais quadros adiantado e carrega o jogo salvo para reduzir a latência dos controles percebida."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES,
"Número de quadros para a execução antecipada" "Número de quadros para a execução antecipada"
@ -3842,14 +3834,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES, MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES,
"O número de quadros para a execução antecipada. Pode causar problemas de jogabilidade, como jitter, caso o número de quadros atrasados internos seja excedido." "O número de quadros para a execução antecipada. Pode causar problemas de jogabilidade, como jitter, caso o número de quadros atrasados internos seja excedido."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_SECONDARY_INSTANCE,
"Usar segunda instância para a \"Execução antecipada\""
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_SECONDARY_INSTANCE,
"Usa uma segunda instância do núcleo do RetroArch para antecipar quadros. Evita problemas de áudio devido ao estado de carregamento."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS,
"Ocultar avisos de execução antecipada de quadros" "Ocultar avisos de execução antecipada de quadros"

View File

@ -4410,14 +4410,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED, MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED,
"Текущее ядро несовместимо с забеганием из-за отсутствия детерминированной поддержки быстрых сохранений." "Текущее ядро несовместимо с забеганием из-за отсутствия детерминированной поддержки быстрых сохранений."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_ENABLED,
"Забегание для снижения задержки ввода"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_ENABLED,
"Обрабатывать логику ядра на один или более кадров вперёд с последующим откатом состояния для уменьшения полученной задержки ввода."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES,
"Количество кадров забегания" "Количество кадров забегания"
@ -4426,14 +4418,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES, MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES,
"Количество кадров забегания. Вызывает нестабильность геймплея при завышении количества кадров внутриигровой задержки." "Количество кадров забегания. Вызывает нестабильность геймплея при завышении количества кадров внутриигровой задержки."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_SECONDARY_INSTANCE,
"Использовать второй инстанс для забегания"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_SECONDARY_INSTANCE,
"Использовать для забегания второй экземпляр ядра RetroArch. Устраняет проблемы со звуком, вызываемые загрузкой сохранений."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS,
"Скрывать предупреждения забегания" "Скрывать предупреждения забегания"
@ -4442,22 +4426,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_SUBLABEL_RUN_AHEAD_HIDE_WARNINGS,
"Не показывать предупреждение, если включено забегание и ядро не поддерживает сохранение состояния." "Не показывать предупреждение, если включено забегание и ядро не поддерживает сохранение состояния."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_UNSUPPORTED,
"[Упреждающие кадры недоступны]"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_UNSUPPORTED,
"Текущее ядро несовместимо с кадрами упреждения из-за отсутствия детерминированной поддержки быстрых сохранений."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_ENABLE,
"Обработка упреждающих кадров"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_ENABLE,
"Повторная обработка логики ядра с последними событиями ввода при изменении состояния контроллера. Работает быстрее забегания, но может вызывать проблемы со звуком у ядер при загрузке быстрых сохранений."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_FRAMES, MENU_ENUM_LABEL_VALUE_PREEMPT_FRAMES,
"Количество упреждающих кадров" "Количество упреждающих кадров"
@ -4466,14 +4434,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_FRAMES, MENU_ENUM_SUBLABEL_PREEMPT_FRAMES,
"Количество кадров для повторной обработки. Вызывает неровность геймплея, если превышено количество кадров внутриигровой задержки." "Количество кадров для повторной обработки. Вызывает неровность геймплея, если превышено количество кадров внутриигровой задержки."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_HIDE_WARNINGS,
"Скрывать сообщения об упреждающих кадрах"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_HIDE_WARNINGS,
"Не показывать предупреждение при несовместимости ядра с упреждающими кадрами."
)
/* Settings > Core */ /* Settings > Core */

View File

@ -4386,14 +4386,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED, MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED,
"Mevcut çekirdek, deterministik tasarruf durumu desteğinin olmaması nedeniyle önden git ile uyumlu değil." "Mevcut çekirdek, deterministik tasarruf durumu desteğinin olmaması nedeniyle önden git ile uyumlu değil."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_ENABLED,
"Gecikmeyi Azaltmak için Önden-Git"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_ENABLED,
"Çekirdek mantığını bir veya daha fazla karenin önünde çalıştırın, ardından algılanan giriş gecikmesini azaltmak için durumu geri yükleyin."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES,
"Önden Gidilecek Kare Sayısı" "Önden Gidilecek Kare Sayısı"
@ -4402,14 +4394,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES, MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES,
"Önde çalıştırılacak kare sayısı. Oyunun içindeki gecikme karelerinin sayısıılırsa titreme gibi oyun sorunlarına neden olur." "Önde çalıştırılacak kare sayısı. Oyunun içindeki gecikme karelerinin sayısıılırsa titreme gibi oyun sorunlarına neden olur."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_SECONDARY_INSTANCE,
"Önden-Git için İkinci Örneği Kullan"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_SECONDARY_INSTANCE,
"Önden-Git için RetroArch çekirdeğinin ikincil örneğini kullanın. Yükleme durumu nedeniyle ses sorunlarını önler."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS,
"Önden-Git Uyarılarını Gizle" "Önden-Git Uyarılarını Gizle"
@ -4418,22 +4402,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_SUBLABEL_RUN_AHEAD_HIDE_WARNINGS,
"Önden-Git kullanırken görüntülenen uyarı mesajını gizleyin ve çekirdek durum kaydı desteklemez." "Önden-Git kullanırken görüntülenen uyarı mesajını gizleyin ve çekirdek durum kaydı desteklemez."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_UNSUPPORTED,
"[Sınırlı Kareler Kullanılamıyor]"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_UNSUPPORTED,
"Mevcut çekirdek, deterministik durum kaydı desteğinin olmaması nedeniyle sınırlı karelerle uyumlu değil."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_ENABLE,
"Sınırlı Kareleri Çalıştır"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_ENABLE,
"Kontrolcü durumu değiştiğinde çekirdeği en son girdiyle yeniden çalıştırın. Önden-Git yönteminden daha hızlıdır, ancak çekirdeklerin durum kaydı yüklemelerinde olabilecek ses sorunlarını engellemez."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_FRAMES, MENU_ENUM_LABEL_VALUE_PREEMPT_FRAMES,
"Sınırlı Kare Sayısı" "Sınırlı Kare Sayısı"
@ -4442,14 +4410,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_FRAMES, MENU_ENUM_SUBLABEL_PREEMPT_FRAMES,
"Yeniden çalıştırılacak kare sayısı. Oyunun içindeki sınırlı karelerin sayısıılırsa titreme gibi oyun sorunlarına neden olur." "Yeniden çalıştırılacak kare sayısı. Oyunun içindeki sınırlı karelerin sayısıılırsa titreme gibi oyun sorunlarına neden olur."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_HIDE_WARNINGS,
"Sınırlı Kareler Uyarılarını Gizle"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_HIDE_WARNINGS,
"Bir çekirdek sınırlı karelerle uyumsuz olduğunda görüntülenen uyarı mesajını gizleyin."
)
/* Settings > Core */ /* Settings > Core */

View File

@ -4455,12 +4455,8 @@ MSG_HASH(
"Current core is incompatible with run-ahead due to lack of deterministic save state support." "Current core is incompatible with run-ahead due to lack of deterministic save state support."
) )
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_ENABLED, MENU_ENUM_LABEL_VALUE_RUNAHEAD_MODE,
"Run-Ahead to Reduce Latency" "Run-Ahead"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_ENABLED,
"Run core logic one or more frames ahead then load the state back to reduce perceived input lag."
) )
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES,
@ -4471,12 +4467,26 @@ MSG_HASH(
"The number of frames to run ahead. Causes gameplay issues such as jitter if the number of lag frames internal to the game is exceeded." "The number of frames to run ahead. Causes gameplay issues such as jitter if the number of lag frames internal to the game is exceeded."
) )
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_SECONDARY_INSTANCE, MENU_ENUM_SUBLABEL_RUNAHEAD_MODE,
"Use Second Instance for Run-Ahead" "Run additional core logic to reduce latency. Single Instance runs to a future frame, then reloads the current state. Second Instance keeps a video-only core instance at a future frame to avoid audio state issues. Preemptive Frames runs past frames with new input when needed, for efficiency."
)
#if !(defined(HAVE_DYNAMIC) || defined(HAVE_DYLIB))
MSG_HASH(
MENU_ENUM_SUBLABEL_RUNAHEAD_MODE_NO_SECOND_INSTANCE,
"Run additional core logic to reduce latency. Single Instance runs to a future frame, then reloads the current state. Preemptive Frames runs past frames with new input when needed, for efficiency."
)
#endif
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUNAHEAD_MODE_SINGLE_INSTANCE,
"Single Instance Mode"
) )
MSG_HASH( MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_SECONDARY_INSTANCE, MENU_ENUM_LABEL_VALUE_RUNAHEAD_MODE_SECOND_INSTANCE,
"Use a second instance of the RetroArch core to run-ahead. Prevents audio problems due to loading state." "Second Instance Mode"
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUNAHEAD_MODE_PREEMPTIVE_FRAMES,
"Preemptive Frames Mode"
) )
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS,
@ -4486,22 +4496,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_SUBLABEL_RUN_AHEAD_HIDE_WARNINGS,
"Hide the warning message that appears when using Run-Ahead and the core does not support save states." "Hide the warning message that appears when using Run-Ahead and the core does not support save states."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_UNSUPPORTED,
"[Preemptive Frames Unavailable]"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_UNSUPPORTED,
"Current core is incompatible with preemptive frames due to lack of deterministic save state support."
)
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_ENABLE,
"Run Preemptive Frames"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_ENABLE,
"Rerun core logic with the latest input when the controller state changes. Faster than Run-Ahead, but does not prevent audio issues cores may have with loading states."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_FRAMES, MENU_ENUM_LABEL_VALUE_PREEMPT_FRAMES,
"Number of Preemptive Frames" "Number of Preemptive Frames"
@ -4510,14 +4504,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_FRAMES, MENU_ENUM_SUBLABEL_PREEMPT_FRAMES,
"The number of frames to rerun. Causes gameplay issues such as jitter if the number of lag frames internal to the game is exceeded." "The number of frames to rerun. Causes gameplay issues such as jitter if the number of lag frames internal to the game is exceeded."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_PREEMPT_HIDE_WARNINGS,
"Hide Preemptive Frames Warnings"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_PREEMPT_HIDE_WARNINGS,
"Hide the warning message that appears when a core is incompatible with preemptive frames."
)
/* Settings > Core */ /* Settings > Core */

View File

@ -2442,14 +2442,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED, MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED,
"El nucli actual és imcompatible amb la reducció predictiva de latència per mancar de suport de desats ràpids determinístics." "El nucli actual és imcompatible amb la reducció predictiva de latència per mancar de suport de desats ràpids determinístics."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_ENABLED,
"Reducció predictiva de latència"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_ENABLED,
"Executa la lògica del nucli un o més fotogrames amb antelació i després carrega un guardat ràpid per a fer decréixer la latència d'entrada percebuda."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES,
"Nombre de fotogrames a la reducció predictiva" "Nombre de fotogrames a la reducció predictiva"
@ -2458,14 +2450,6 @@ MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES, MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES,
"Determina el nombre de fotogrames a executar amb antelació. Poden haver fluctuacions de senyal si el nombre de fotogrames endarrerits supera al valor intern del joc." "Determina el nombre de fotogrames a executar amb antelació. Poden haver fluctuacions de senyal si el nombre de fotogrames endarrerits supera al valor intern del joc."
) )
MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_SECONDARY_INSTANCE,
"Usa una segona instància per a la reducció predictiva"
)
MSG_HASH(
MENU_ENUM_SUBLABEL_RUN_AHEAD_SECONDARY_INSTANCE,
"Usa una segona instància del nucli RetroArch per portar a terme la reducció predictiva de latència. Evita els problemes d'àudio ocasionats al carregar guardats ràpids."
)
MSG_HASH( MSG_HASH(
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_HIDE_WARNINGS,
"Amagar avisos de la reducció predictiva" "Amagar avisos de la reducció predictiva"

View File

@ -739,13 +739,13 @@ DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_vrr_runloop_enable, MENU_
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_menu_throttle_framerate, MENU_ENUM_SUBLABEL_MENU_ENUM_THROTTLE_FRAMERATE) DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_menu_throttle_framerate, MENU_ENUM_SUBLABEL_MENU_ENUM_THROTTLE_FRAMERATE)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_slowmotion_ratio, MENU_ENUM_SUBLABEL_SLOWMOTION_RATIO) DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_slowmotion_ratio, MENU_ENUM_SUBLABEL_SLOWMOTION_RATIO)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_run_ahead_unsupported, MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED) DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_run_ahead_unsupported, MENU_ENUM_SUBLABEL_RUN_AHEAD_UNSUPPORTED)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_run_ahead_enabled, MENU_ENUM_SUBLABEL_RUN_AHEAD_ENABLED) #if (defined(HAVE_DYNAMIC) || defined(HAVE_DYLIB))
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_run_ahead_secondary_instance, MENU_ENUM_SUBLABEL_RUN_AHEAD_SECONDARY_INSTANCE) DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_runahead_mode, MENU_ENUM_SUBLABEL_RUNAHEAD_MODE)
#else
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_runahead_mode, MENU_ENUM_SUBLABEL_RUNAHEAD_MODE_NO_SECOND_INSTANCE)
#endif
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_run_ahead_hide_warnings, MENU_ENUM_SUBLABEL_RUN_AHEAD_HIDE_WARNINGS) DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_run_ahead_hide_warnings, MENU_ENUM_SUBLABEL_RUN_AHEAD_HIDE_WARNINGS)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_run_ahead_frames, MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES) DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_run_ahead_frames, MENU_ENUM_SUBLABEL_RUN_AHEAD_FRAMES)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_preempt_unsupported, MENU_ENUM_SUBLABEL_PREEMPT_UNSUPPORTED)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_preempt_enable, MENU_ENUM_SUBLABEL_PREEMPT_ENABLE)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_preempt_hide_warnings, MENU_ENUM_SUBLABEL_PREEMPT_HIDE_WARNINGS)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_preempt_frames, MENU_ENUM_SUBLABEL_PREEMPT_FRAMES) DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_preempt_frames, MENU_ENUM_SUBLABEL_PREEMPT_FRAMES)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_block_timeout, MENU_ENUM_SUBLABEL_INPUT_BLOCK_TIMEOUT) DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_input_block_timeout, MENU_ENUM_SUBLABEL_INPUT_BLOCK_TIMEOUT)
DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_rewind, MENU_ENUM_SUBLABEL_REWIND_ENABLE) DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_rewind, MENU_ENUM_SUBLABEL_REWIND_ENABLE)
@ -4177,11 +4177,8 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
case MENU_ENUM_LABEL_RUN_AHEAD_UNSUPPORTED: case MENU_ENUM_LABEL_RUN_AHEAD_UNSUPPORTED:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_run_ahead_unsupported); BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_run_ahead_unsupported);
break; break;
case MENU_ENUM_LABEL_RUN_AHEAD_ENABLED: case MENU_ENUM_LABEL_RUNAHEAD_MODE:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_run_ahead_enabled); BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_runahead_mode);
break;
case MENU_ENUM_LABEL_RUN_AHEAD_SECONDARY_INSTANCE:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_run_ahead_secondary_instance);
break; break;
case MENU_ENUM_LABEL_RUN_AHEAD_HIDE_WARNINGS: case MENU_ENUM_LABEL_RUN_AHEAD_HIDE_WARNINGS:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_run_ahead_hide_warnings); BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_run_ahead_hide_warnings);
@ -4189,18 +4186,9 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs,
case MENU_ENUM_LABEL_RUN_AHEAD_FRAMES: case MENU_ENUM_LABEL_RUN_AHEAD_FRAMES:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_run_ahead_frames); BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_run_ahead_frames);
break; break;
case MENU_ENUM_LABEL_PREEMPT_UNSUPPORTED:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_preempt_unsupported);
break;
case MENU_ENUM_LABEL_PREEMPT_ENABLE:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_preempt_enable);
break;
case MENU_ENUM_LABEL_PREEMPT_FRAMES: case MENU_ENUM_LABEL_PREEMPT_FRAMES:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_preempt_frames); BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_preempt_frames);
break; break;
case MENU_ENUM_LABEL_PREEMPT_HIDE_WARNINGS:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_preempt_hide_warnings);
break;
case MENU_ENUM_LABEL_INPUT_BLOCK_TIMEOUT: case MENU_ENUM_LABEL_INPUT_BLOCK_TIMEOUT:
BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_input_block_timeout); BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_input_block_timeout);
break; break;

View File

@ -551,6 +551,19 @@ struct menu_dialog
typedef struct menu_dialog menu_dialog_t; typedef struct menu_dialog menu_dialog_t;
#ifdef HAVE_RUNAHEAD
enum menu_runahead_mode
{
MENU_RUNAHEAD_MODE_OFF = 0,
MENU_RUNAHEAD_MODE_SINGLE_INSTANCE,
#if (defined(HAVE_DYNAMIC) || defined(HAVE_DYLIB))
MENU_RUNAHEAD_MODE_SECOND_INSTANCE,
#endif
MENU_RUNAHEAD_MODE_PREEMPTIVE_FRAMES,
MENU_RUNAHEAD_MODE_LAST
};
#endif
RETRO_END_DECLS RETRO_END_DECLS
#endif #endif

View File

@ -10280,13 +10280,10 @@ unsigned menu_displaylist_build_list(
{MENU_ENUM_LABEL_VIDEO_FRAME_DELAY_AUTO, PARSE_ONLY_BOOL, true }, {MENU_ENUM_LABEL_VIDEO_FRAME_DELAY_AUTO, PARSE_ONLY_BOOL, true },
{MENU_ENUM_LABEL_VIDEO_FRAME_DELAY, PARSE_ONLY_UINT, true }, {MENU_ENUM_LABEL_VIDEO_FRAME_DELAY, PARSE_ONLY_UINT, true },
#ifdef HAVE_RUNAHEAD #ifdef HAVE_RUNAHEAD
{MENU_ENUM_LABEL_RUN_AHEAD_ENABLED, PARSE_ONLY_BOOL, false }, {MENU_ENUM_LABEL_RUNAHEAD_MODE, PARSE_ONLY_UINT, false },
{MENU_ENUM_LABEL_RUN_AHEAD_FRAMES, PARSE_ONLY_UINT, false }, {MENU_ENUM_LABEL_RUN_AHEAD_FRAMES, PARSE_ONLY_UINT, false },
{MENU_ENUM_LABEL_RUN_AHEAD_SECONDARY_INSTANCE, PARSE_ONLY_BOOL, false },
{MENU_ENUM_LABEL_RUN_AHEAD_HIDE_WARNINGS, PARSE_ONLY_BOOL, false },
{MENU_ENUM_LABEL_PREEMPT_ENABLE, PARSE_ONLY_BOOL, false },
{MENU_ENUM_LABEL_PREEMPT_FRAMES, PARSE_ONLY_UINT, false }, {MENU_ENUM_LABEL_PREEMPT_FRAMES, PARSE_ONLY_UINT, false },
{MENU_ENUM_LABEL_PREEMPT_HIDE_WARNINGS, PARSE_ONLY_BOOL, false }, {MENU_ENUM_LABEL_RUN_AHEAD_HIDE_WARNINGS, PARSE_ONLY_BOOL, false },
#endif #endif
}; };
@ -10339,21 +10336,21 @@ unsigned menu_displaylist_build_list(
{ {
switch (build_list[i].enum_idx) switch (build_list[i].enum_idx)
{ {
case MENU_ENUM_LABEL_RUN_AHEAD_ENABLED: case MENU_ENUM_LABEL_RUNAHEAD_MODE:
case MENU_ENUM_LABEL_PREEMPT_ENABLE:
build_list[i].checked = true; build_list[i].checked = true;
break; break;
case MENU_ENUM_LABEL_RUN_AHEAD_FRAMES: case MENU_ENUM_LABEL_RUN_AHEAD_FRAMES:
case MENU_ENUM_LABEL_RUN_AHEAD_SECONDARY_INSTANCE:
case MENU_ENUM_LABEL_RUN_AHEAD_HIDE_WARNINGS:
if (runahead_enabled) if (runahead_enabled)
build_list[i].checked = true; build_list[i].checked = true;
break; break;
case MENU_ENUM_LABEL_PREEMPT_FRAMES: case MENU_ENUM_LABEL_PREEMPT_FRAMES:
case MENU_ENUM_LABEL_PREEMPT_HIDE_WARNINGS:
if (preempt_enabled) if (preempt_enabled)
build_list[i].checked = true; build_list[i].checked = true;
break; break;
case MENU_ENUM_LABEL_RUN_AHEAD_HIDE_WARNINGS:
if (runahead_enabled || preempt_enabled)
build_list[i].checked = true;
break;
default: default:
break; break;
} }
@ -10373,20 +10370,12 @@ unsigned menu_displaylist_build_list(
#ifdef HAVE_RUNAHEAD #ifdef HAVE_RUNAHEAD
if (!runahead_supported) if (!runahead_supported)
{
if (menu_entries_append(list, if (menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_RUN_AHEAD_UNSUPPORTED), msg_hash_to_str(MENU_ENUM_LABEL_VALUE_RUN_AHEAD_UNSUPPORTED),
msg_hash_to_str(MENU_ENUM_LABEL_RUN_AHEAD_UNSUPPORTED), msg_hash_to_str(MENU_ENUM_LABEL_RUN_AHEAD_UNSUPPORTED),
MENU_ENUM_LABEL_RUN_AHEAD_UNSUPPORTED, MENU_ENUM_LABEL_RUN_AHEAD_UNSUPPORTED,
FILE_TYPE_NONE, 0, 0, NULL)) FILE_TYPE_NONE, 0, 0, NULL))
count++; count++;
if (menu_entries_append(list,
msg_hash_to_str(MENU_ENUM_LABEL_VALUE_PREEMPT_UNSUPPORTED),
msg_hash_to_str(MENU_ENUM_LABEL_PREEMPT_UNSUPPORTED),
MENU_ENUM_LABEL_PREEMPT_UNSUPPORTED,
FILE_TYPE_NONE, 0, 0, NULL))
count++;
}
#endif #endif
#ifndef HAVE_LAKKA #ifndef HAVE_LAKKA
if (MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(list, if (MENU_DISPLAYLIST_PARSE_SETTINGS_ENUM(list,

View File

@ -8108,3 +8108,31 @@ size_t menu_driver_get_thumbnail_system(void *data, char *s, size_t len)
return 0; return 0;
return strlcpy(s, system, len); return strlcpy(s, system, len);
} }
#ifdef HAVE_RUNAHEAD
/**
* menu_update_runahead_mode
*
* Updates the menu runahead mode to match current settings for runahead
* and preemptive frames.
*/
void menu_update_runahead_mode(void)
{
struct menu_state *menu_st = menu_state_get_ptr();
settings_t *settings = config_get_ptr();
if (settings->bools.run_ahead_enabled)
{
#if (defined(HAVE_DYNAMIC) || defined(HAVE_DYLIB))
if (settings->bools.run_ahead_secondary_instance)
menu_st->runahead_mode = MENU_RUNAHEAD_MODE_SECOND_INSTANCE;
else
#endif
menu_st->runahead_mode = MENU_RUNAHEAD_MODE_SINGLE_INSTANCE;
}
else if (settings->bools.preemptive_frames_enable)
menu_st->runahead_mode = MENU_RUNAHEAD_MODE_PREEMPTIVE_FRAMES;
else
menu_st->runahead_mode = MENU_RUNAHEAD_MODE_OFF;
}
#endif

View File

@ -508,6 +508,9 @@ struct menu_state
unsigned input_driver_flushing_input; unsigned input_driver_flushing_input;
menu_dialog_t dialog_st; menu_dialog_t dialog_st;
enum menu_action prev_action; enum menu_action prev_action;
#ifdef HAVE_RUNAHEAD
enum menu_runahead_mode runahead_mode;
#endif
/* int16_t alignment */ /* int16_t alignment */
menu_input_pointer_hw_state_t input_pointer_hw_state; menu_input_pointer_hw_state_t input_pointer_hw_state;
@ -748,6 +751,10 @@ void menu_driver_set_thumbnail_system(void *data, char *s, size_t len);
size_t menu_driver_get_thumbnail_system(void *data, char *s, size_t len); size_t menu_driver_get_thumbnail_system(void *data, char *s, size_t len);
#ifdef HAVE_RUNAHEAD
void menu_update_runahead_mode(void);
#endif
extern const menu_ctx_driver_t *menu_ctx_drivers[]; extern const menu_ctx_driver_t *menu_ctx_drivers[];
extern menu_ctx_driver_t menu_ctx_ozone; extern menu_ctx_driver_t menu_ctx_ozone;

View File

@ -7169,6 +7169,37 @@ static void setting_get_string_representation_poll_type_behavior(
} }
} }
#ifdef HAVE_RUNAHEAD
static void setting_get_string_representation_runahead_mode(
rarch_setting_t *setting,
char *s, size_t len)
{
if (!setting)
return;
switch (*setting->value.target.unsigned_integer)
{
case MENU_RUNAHEAD_MODE_SINGLE_INSTANCE:
strlcpy(s, msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_RUNAHEAD_MODE_SINGLE_INSTANCE), len);
break;
#if (defined(HAVE_DYNAMIC) || defined(HAVE_DYLIB))
case MENU_RUNAHEAD_MODE_SECOND_INSTANCE:
strlcpy(s, msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_RUNAHEAD_MODE_SECOND_INSTANCE), len);
break;
#endif
case MENU_RUNAHEAD_MODE_PREEMPTIVE_FRAMES:
strlcpy(s, msg_hash_to_str(
MENU_ENUM_LABEL_VALUE_RUNAHEAD_MODE_PREEMPTIVE_FRAMES), len);
break;
default:
strlcpy(s, msg_hash_to_str(MENU_ENUM_LABEL_VALUE_OFF), len);
break;
}
}
#endif
static void setting_get_string_representation_input_touch_scale(rarch_setting_t *setting, static void setting_get_string_representation_input_touch_scale(rarch_setting_t *setting,
char *s, size_t len) char *s, size_t len)
{ {
@ -9166,96 +9197,68 @@ static void frontend_log_level_change_handler(rarch_setting_t *setting)
#ifdef HAVE_RUNAHEAD #ifdef HAVE_RUNAHEAD
static void runahead_change_handler(rarch_setting_t *setting) static void runahead_change_handler(rarch_setting_t *setting)
{ {
settings_t *settings = config_get_ptr(); settings_t *settings = config_get_ptr();
struct menu_state *menu_st = menu_state_get_ptr(); struct menu_state *menu_st = menu_state_get_ptr();
bool run_ahead_enabled = settings->bools.run_ahead_enabled; runloop_state_t *runloop_st = runloop_state_get_ptr();
bool preempt_enabled = settings->bools.preemptive_frames_enable; preempt_t *preempt = runloop_st->preempt_data;
#if (defined(HAVE_DYNAMIC) || defined(HAVE_DYLIB)) unsigned run_ahead_frames = settings->uints.run_ahead_frames;
unsigned run_ahead_frames = settings->uints.run_ahead_frames; bool preempt_enable, run_ahead_enabled, secondary_instance;
bool run_ahead_secondary_instance = settings->bools.run_ahead_secondary_instance;
#endif
if (!setting) if (!setting)
return; return;
switch (setting->enum_idx) if (setting->enum_idx == MENU_ENUM_LABEL_RUNAHEAD_MODE)
{ {
case MENU_ENUM_LABEL_RUN_AHEAD_ENABLED: switch (menu_st->runahead_mode)
if (run_ahead_enabled && preempt_enabled) {
{ case MENU_RUNAHEAD_MODE_SINGLE_INSTANCE:
/* Disable preemptive frames and inform user */ settings->bools.run_ahead_enabled = true;
settings->bools.preemptive_frames_enable = false; settings->bools.run_ahead_secondary_instance = false;
preempt_deinit(runloop_state_get_ptr()); settings->bools.preemptive_frames_enable = false;
runloop_msg_queue_push( break;
msg_hash_to_str(MSG_PREEMPT_DISABLED), 1, 100, false,
NULL, MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO);
}
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH;
/* fall-through */
case MENU_ENUM_LABEL_RUN_AHEAD_FRAMES:
#if (defined(HAVE_DYNAMIC) || defined(HAVE_DYLIB)) #if (defined(HAVE_DYNAMIC) || defined(HAVE_DYLIB))
case MENU_ENUM_LABEL_RUN_AHEAD_SECONDARY_INSTANCE: case MENU_RUNAHEAD_MODE_SECOND_INSTANCE:
/* If any changes here will cause second settings->bools.run_ahead_enabled = true;
* instance runahead to be enabled, must settings->bools.run_ahead_secondary_instance = true;
* re-apply cheats to ensure that they settings->bools.preemptive_frames_enable = false;
* propagate to the newly-created secondary break;
* core */
if ( run_ahead_enabled
&& (run_ahead_frames > 0)
&& run_ahead_secondary_instance
&& !retroarch_ctl(RARCH_CTL_IS_SECOND_CORE_LOADED, NULL)
&& retroarch_ctl(RARCH_CTL_IS_SECOND_CORE_AVAILABLE, NULL)
&& command_event(CMD_EVENT_LOAD_SECOND_CORE, NULL))
command_event(CMD_EVENT_CHEATS_APPLY, NULL);
#endif #endif
break; case MENU_RUNAHEAD_MODE_PREEMPTIVE_FRAMES:
default: settings->bools.run_ahead_enabled = false;
break; settings->bools.preemptive_frames_enable = true;
} break;
} default:
settings->bools.run_ahead_enabled = false;
settings->bools.preemptive_frames_enable = false;
break;
}
static void preempt_change_handler(rarch_setting_t *setting) menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH;
{ }
settings_t *settings = config_get_ptr();
bool preempt_enabled = settings->bools.preemptive_frames_enable; preempt_enable = settings->bools.preemptive_frames_enable;
bool run_ahead_enabled = settings->bools.run_ahead_enabled; run_ahead_enabled = settings->bools.run_ahead_enabled;
preempt_t *preempt = runloop_state_get_ptr()->preempt_data; secondary_instance = settings->bools.run_ahead_secondary_instance;
struct menu_state *menu_st = menu_state_get_ptr();
#ifdef HAVE_NETWORKING /* Toggle or update preemptive frames if needed */
bool netplay_enabled = netplay_driver_ctl(RARCH_NETPLAY_CTL_IS_ENABLED, NULL); if ( preempt_enable != !!preempt
#else || (preempt && preempt->frames != run_ahead_frames))
bool netplay_enabled = false; command_event(CMD_EVENT_PREEMPT_UPDATE, NULL);
#if (defined(HAVE_DYNAMIC) || defined(HAVE_DYLIB))
/* If any changes here will cause second
* instance runahead to be enabled, must
* re-apply cheats to ensure that they
* propagate to the newly-created secondary
* core */
if ( run_ahead_enabled
&& run_ahead_frames > 0
&& secondary_instance
&& !retroarch_ctl(RARCH_CTL_IS_SECOND_CORE_LOADED, NULL)
&& retroarch_ctl(RARCH_CTL_IS_SECOND_CORE_AVAILABLE, NULL)
&& command_event(CMD_EVENT_LOAD_SECOND_CORE, NULL))
command_event(CMD_EVENT_CHEATS_APPLY, NULL);
#endif #endif
if (!setting)
return;
switch (setting->enum_idx)
{
case MENU_ENUM_LABEL_PREEMPT_ENABLE:
if (preempt_enabled && run_ahead_enabled)
{
/* Disable runahead and inform user */
settings->bools.run_ahead_enabled = false;
runloop_msg_queue_push(
msg_hash_to_str(MSG_RUNAHEAD_DISABLED), 1, 100, false,
NULL, MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO);
}
if ((preempt_enabled != !!preempt) && !netplay_enabled)
command_event(CMD_EVENT_PREEMPT_UPDATE, NULL);
menu_st->flags |= MENU_ST_FLAG_ENTRIES_NEED_REFRESH;
break;
case MENU_ENUM_LABEL_PREEMPT_FRAMES:
if ( preempt
&& preempt->frames != settings->uints.run_ahead_frames
&& !netplay_enabled)
command_event(CMD_EVENT_PREEMPT_UPDATE, NULL);
break;
default:
break;
}
} }
#endif #endif
@ -16484,59 +16487,43 @@ static bool setting_append_list(
menu_settings_list_current_add_range(list, list_info, 1, 10, 0.1, true, true); menu_settings_list_current_add_range(list, list_info, 1, 10, 0.1, true, true);
#ifdef HAVE_RUNAHEAD #ifdef HAVE_RUNAHEAD
CONFIG_BOOL( CONFIG_UINT(
list, list_info, list, list_info,
&settings->bools.run_ahead_enabled, &menu_state_get_ptr()->runahead_mode,
MENU_ENUM_LABEL_RUN_AHEAD_ENABLED, MENU_ENUM_LABEL_RUNAHEAD_MODE,
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_ENABLED, MENU_ENUM_LABEL_VALUE_RUNAHEAD_MODE,
false, MENU_RUNAHEAD_MODE_OFF,
MENU_ENUM_LABEL_VALUE_OFF,
MENU_ENUM_LABEL_VALUE_ON,
&group_info, &group_info,
&subgroup_info, &subgroup_info,
parent_group, parent_group,
general_write_handler, general_write_handler,
general_read_handler, general_read_handler);
SD_FLAG_NONE (*list)[list_info->index - 1].ui_type = ST_UI_TYPE_UINT_COMBOBOX;
); (*list)[list_info->index - 1].action_ok = &setting_action_ok_uint;
(*list)[list_info->index - 1].change_handler = runahead_change_handler; (*list)[list_info->index - 1].get_string_representation =
&setting_get_string_representation_runahead_mode;
(*list)[list_info->index - 1].change_handler =
runahead_change_handler;
menu_settings_list_current_add_range(list, list_info,
MENU_RUNAHEAD_MODE_OFF, MENU_RUNAHEAD_MODE_LAST - 1, 1, true, true);
CONFIG_UINT( CONFIG_UINT(
list, list_info, list, list_info,
&settings->uints.run_ahead_frames, &settings->uints.run_ahead_frames,
MENU_ENUM_LABEL_RUN_AHEAD_FRAMES, MENU_ENUM_LABEL_RUN_AHEAD_FRAMES,
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES, MENU_ENUM_LABEL_VALUE_RUN_AHEAD_FRAMES,
1, 1,
&group_info, &group_info,
&subgroup_info, &subgroup_info,
parent_group, parent_group,
general_write_handler, general_write_handler,
general_read_handler); general_read_handler);
(*list)[list_info->index - 1].ui_type = ST_UI_TYPE_UINT_COMBOBOX; (*list)[list_info->index - 1].ui_type = ST_UI_TYPE_UINT_COMBOBOX;
(*list)[list_info->index - 1].action_ok = &setting_action_ok_uint; (*list)[list_info->index - 1].action_ok = &setting_action_ok_uint;
(*list)[list_info->index - 1].offset_by = 1; (*list)[list_info->index - 1].offset_by = 1;
(*list)[list_info->index - 1].change_handler = runahead_change_handler; (*list)[list_info->index - 1].change_handler = runahead_change_handler;
menu_settings_list_current_add_range(list, list_info, 1, MAX_RUNAHEAD_FRAMES, 1, true, true); menu_settings_list_current_add_range(list, list_info, 1, MAX_RUNAHEAD_FRAMES, 1, true, true);
#if defined(HAVE_DYNAMIC) || defined(HAVE_DYLIB)
CONFIG_BOOL(
list, list_info,
&settings->bools.run_ahead_secondary_instance,
MENU_ENUM_LABEL_RUN_AHEAD_SECONDARY_INSTANCE,
MENU_ENUM_LABEL_VALUE_RUN_AHEAD_SECONDARY_INSTANCE,
DEFAULT_RUN_AHEAD_SECONDARY_INSTANCE,
MENU_ENUM_LABEL_VALUE_OFF,
MENU_ENUM_LABEL_VALUE_ON,
&group_info,
&subgroup_info,
parent_group,
general_write_handler,
general_read_handler,
SD_FLAG_NONE
);
(*list)[list_info->index - 1].change_handler = runahead_change_handler;
#endif
CONFIG_BOOL( CONFIG_BOOL(
list, list_info, list, list_info,
&settings->bools.run_ahead_hide_warnings, &settings->bools.run_ahead_hide_warnings,
@ -16553,22 +16540,6 @@ static bool setting_append_list(
SD_FLAG_ADVANCED SD_FLAG_ADVANCED
); );
CONFIG_BOOL(
list, list_info,
&settings->bools.preemptive_frames_enable,
MENU_ENUM_LABEL_PREEMPT_ENABLE,
MENU_ENUM_LABEL_VALUE_PREEMPT_ENABLE,
false,
MENU_ENUM_LABEL_VALUE_OFF,
MENU_ENUM_LABEL_VALUE_ON,
&group_info,
&subgroup_info,
parent_group,
general_write_handler,
general_read_handler,
SD_FLAG_NONE);
(*list)[list_info->index - 1].change_handler = preempt_change_handler;
CONFIG_UINT( CONFIG_UINT(
list, list_info, list, list_info,
&settings->uints.run_ahead_frames, &settings->uints.run_ahead_frames,
@ -16583,24 +16554,8 @@ static bool setting_append_list(
(*list)[list_info->index - 1].ui_type = ST_UI_TYPE_UINT_COMBOBOX; (*list)[list_info->index - 1].ui_type = ST_UI_TYPE_UINT_COMBOBOX;
(*list)[list_info->index - 1].action_ok = &setting_action_ok_uint; (*list)[list_info->index - 1].action_ok = &setting_action_ok_uint;
(*list)[list_info->index - 1].offset_by = 1; (*list)[list_info->index - 1].offset_by = 1;
(*list)[list_info->index - 1].change_handler = preempt_change_handler; (*list)[list_info->index - 1].change_handler = runahead_change_handler;
menu_settings_list_current_add_range(list, list_info, 1, MAX_RUNAHEAD_FRAMES, 1, true, true); menu_settings_list_current_add_range(list, list_info, 1, MAX_RUNAHEAD_FRAMES, 1, true, true);
CONFIG_BOOL(
list, list_info,
&settings->bools.preemptive_frames_hide_warnings,
MENU_ENUM_LABEL_PREEMPT_HIDE_WARNINGS,
MENU_ENUM_LABEL_VALUE_PREEMPT_HIDE_WARNINGS,
DEFAULT_PREEMPT_HIDE_WARNINGS,
MENU_ENUM_LABEL_VALUE_OFF,
MENU_ENUM_LABEL_VALUE_ON,
&group_info,
&subgroup_info,
parent_group,
general_write_handler,
general_read_handler,
SD_FLAG_ADVANCED
);
#endif #endif
#ifdef ANDROID #ifdef ANDROID

View File

@ -831,6 +831,10 @@ enum msg_hash_enums
MENU_ENUM_LABEL_VALUE_INPUT_POLL_TYPE_BEHAVIOR_NORMAL, MENU_ENUM_LABEL_VALUE_INPUT_POLL_TYPE_BEHAVIOR_NORMAL,
MENU_ENUM_LABEL_VALUE_INPUT_POLL_TYPE_BEHAVIOR_EARLY, MENU_ENUM_LABEL_VALUE_INPUT_POLL_TYPE_BEHAVIOR_EARLY,
MENU_ENUM_LABEL_VALUE_RUNAHEAD_MODE_SINGLE_INSTANCE,
MENU_ENUM_LABEL_VALUE_RUNAHEAD_MODE_SECOND_INSTANCE,
MENU_ENUM_LABEL_VALUE_RUNAHEAD_MODE_PREEMPTIVE_FRAMES,
MENU_LABEL(CHEEVOS_UNLOCKED_ENTRY), MENU_LABEL(CHEEVOS_UNLOCKED_ENTRY),
MENU_LABEL(CHEEVOS_UNLOCKED_ENTRY_HARDCORE), MENU_LABEL(CHEEVOS_UNLOCKED_ENTRY_HARDCORE),
MENU_LABEL(CHEEVOS_LOCKED_ENTRY), MENU_LABEL(CHEEVOS_LOCKED_ENTRY),
@ -1353,6 +1357,10 @@ enum msg_hash_enums
MENU_LABEL(INPUT_ICADE_ENABLE), MENU_LABEL(INPUT_ICADE_ENABLE),
MENU_LABEL(INPUT_ALL_USERS_CONTROL_MENU), MENU_LABEL(INPUT_ALL_USERS_CONTROL_MENU),
MENU_LBL_H(INPUT_POLL_TYPE_BEHAVIOR), MENU_LBL_H(INPUT_POLL_TYPE_BEHAVIOR),
MENU_LABEL(RUNAHEAD_MODE),
#if !(defined(HAVE_DYNAMIC) || defined(HAVE_DYLIB))
MENU_ENUM_SUBLABEL_RUNAHEAD_MODE_NO_SECOND_INSTANCE,
#endif
MENU_LABEL(INPUT_UNIFIED_MENU_CONTROLS), MENU_LABEL(INPUT_UNIFIED_MENU_CONTROLS),
MENU_LABEL(INPUT_DISABLE_INFO_BUTTON), MENU_LABEL(INPUT_DISABLE_INFO_BUTTON),
MENU_LABEL(INPUT_DISABLE_SEARCH_BUTTON), MENU_LABEL(INPUT_DISABLE_SEARCH_BUTTON),
@ -2764,14 +2772,9 @@ enum msg_hash_enums
MENU_LABEL(SLOWMOTION_RATIO), MENU_LABEL(SLOWMOTION_RATIO),
MENU_LABEL(RUN_AHEAD_UNSUPPORTED), MENU_LABEL(RUN_AHEAD_UNSUPPORTED),
MENU_LABEL(RUN_AHEAD_ENABLED),
MENU_LABEL(RUN_AHEAD_SECONDARY_INSTANCE),
MENU_LABEL(RUN_AHEAD_HIDE_WARNINGS), MENU_LABEL(RUN_AHEAD_HIDE_WARNINGS),
MENU_LABEL(RUN_AHEAD_FRAMES), MENU_LABEL(RUN_AHEAD_FRAMES),
MENU_LABEL(PREEMPT_UNSUPPORTED),
MENU_LABEL(PREEMPT_ENABLE),
MENU_LABEL(PREEMPT_FRAMES), MENU_LABEL(PREEMPT_FRAMES),
MENU_LABEL(PREEMPT_HIDE_WARNINGS),
MENU_LABEL(INPUT_BLOCK_TIMEOUT), MENU_LABEL(INPUT_BLOCK_TIMEOUT),
MENU_LABEL(TURBO), MENU_LABEL(TURBO),

View File

@ -3231,22 +3231,27 @@ bool command_event(enum event_command cmd, void *data)
runloop_msg_queue_push(msg_hash_to_str(MSG_RUNAHEAD_DISABLED), runloop_msg_queue_push(msg_hash_to_str(MSG_RUNAHEAD_DISABLED),
1, 100, false, 1, 100, false,
NULL, MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO); NULL, MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO);
#ifdef HAVE_MENU
/* Update menu */
menu_update_runahead_mode();
#endif
} }
#endif #endif
break; break;
case CMD_EVENT_PREEMPT_TOGGLE: case CMD_EVENT_PREEMPT_TOGGLE:
#if HAVE_RUNAHEAD #if HAVE_RUNAHEAD
{ {
bool old_warn = settings->bools.preemptive_frames_hide_warnings; bool old_warn = settings->bools.run_ahead_hide_warnings;
bool old_inited = runloop_st->preempt_data != NULL; bool old_inited = runloop_st->preempt_data != NULL;
/* Toggle with warnings shown */ /* Toggle with warnings shown */
settings->bools.preemptive_frames_hide_warnings = false; settings->bools.run_ahead_hide_warnings = false;
settings->bools.preemptive_frames_enable = settings->bools.preemptive_frames_enable =
!(settings->bools.preemptive_frames_enable); !(settings->bools.preemptive_frames_enable);
command_event(CMD_EVENT_PREEMPT_UPDATE, NULL); command_event(CMD_EVENT_PREEMPT_UPDATE, NULL);
settings->bools.preemptive_frames_hide_warnings = old_warn; settings->bools.run_ahead_hide_warnings = old_warn;
if (old_inited && !runloop_st->preempt_data) if (old_inited && !runloop_st->preempt_data)
runloop_msg_queue_push(msg_hash_to_str(MSG_PREEMPT_DISABLED), runloop_msg_queue_push(msg_hash_to_str(MSG_PREEMPT_DISABLED),
@ -3256,7 +3261,7 @@ bool command_event(enum event_command cmd, void *data)
{ {
char msg[128]; char msg[128];
snprintf(msg, sizeof(msg), msg_hash_to_str(MSG_PREEMPT_ENABLED), snprintf(msg, sizeof(msg), msg_hash_to_str(MSG_PREEMPT_ENABLED),
settings->uints.run_ahead_frames); settings->uints.run_ahead_frames);
runloop_msg_queue_push( runloop_msg_queue_push(
msg, 1, 100, false, msg, 1, 100, false,
NULL, MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO); NULL, MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO);
@ -3266,11 +3271,20 @@ bool command_event(enum event_command cmd, void *data)
} }
else /* Failed to init */ else /* Failed to init */
settings->bools.preemptive_frames_enable = false; settings->bools.preemptive_frames_enable = false;
#ifdef HAVE_MENU
/* Update menu */
menu_update_runahead_mode();
#endif
} }
#endif #endif
break; break;
case CMD_EVENT_PREEMPT_UPDATE: case CMD_EVENT_PREEMPT_UPDATE:
#if HAVE_RUNAHEAD #if HAVE_RUNAHEAD
#ifdef HAVE_NETWORKING
if (netplay_driver_ctl(RARCH_NETPLAY_CTL_IS_ENABLED, NULL))
break;
#endif
preempt_deinit(runloop_st); preempt_deinit(runloop_st);
preempt_init(runloop_st); preempt_init(runloop_st);
#endif #endif
@ -7772,6 +7786,9 @@ bool retroarch_main_init(int argc, char *argv[])
#endif #endif
#ifdef HAVE_RUNAHEAD #ifdef HAVE_RUNAHEAD
#ifdef HAVE_MENU
menu_update_runahead_mode();
#endif
#ifdef HAVE_NETWORKING #ifdef HAVE_NETWORKING
if (!netplay_driver_ctl(RARCH_NETPLAY_CTL_IS_ENABLED, NULL)) if (!netplay_driver_ctl(RARCH_NETPLAY_CTL_IS_ENABLED, NULL))
#endif #endif

View File

@ -1473,7 +1473,7 @@ bool preempt_init(void *data)
error: error:
preempt_deinit(runloop_st); preempt_deinit(runloop_st);
if (!settings->bools.preemptive_frames_hide_warnings) if (!settings->bools.run_ahead_hide_warnings)
runloop_msg_queue_push( runloop_msg_queue_push(
failed_str, 0, 2 * 60, true, failed_str, 0, 2 * 60, true,
NULL, MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO); NULL, MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO);
@ -1683,7 +1683,7 @@ error:
video_st->flags |= VIDEO_FLAG_ACTIVE; video_st->flags |= VIDEO_FLAG_ACTIVE;
preempt_deinit(runloop_st); preempt_deinit(runloop_st);
if (!settings->bools.preemptive_frames_hide_warnings) if (!settings->bools.run_ahead_hide_warnings)
runloop_msg_queue_push( runloop_msg_queue_push(
failed_str, 0, 2 * 60, true, failed_str, 0, 2 * 60, true,
NULL, MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO); NULL, MESSAGE_QUEUE_ICON_DEFAULT, MESSAGE_QUEUE_CATEGORY_INFO);

View File

@ -387,10 +387,10 @@ QWidget *LatencyPage::widget()
{ {
QWidget *widget = new QWidget; QWidget *widget = new QWidget;
FormLayout *layout = new FormLayout; FormLayout *layout = new FormLayout;
CheckableSettingsGroup *runAheadGroup = new CheckableSettingsGroup(MENU_ENUM_LABEL_RUN_AHEAD_ENABLED); SettingsGroup *runAheadGroup = new SettingsGroup(
CheckableSettingsGroup *preemptGroup = new CheckableSettingsGroup(MENU_ENUM_LABEL_PREEMPT_ENABLE); msg_hash_to_str(MENU_ENUM_LABEL_VALUE_RUNAHEAD_MODE));
rarch_setting_t *hardSyncSetting = menu_setting_find_enum(MENU_ENUM_LABEL_VIDEO_HARD_SYNC); rarch_setting_t *hardSyncSetting = menu_setting_find_enum(MENU_ENUM_LABEL_VIDEO_HARD_SYNC);
if (hardSyncSetting) if (hardSyncSetting)
{ {
@ -409,15 +409,11 @@ QWidget *LatencyPage::widget()
layout->add(menu_setting_find_enum(MENU_ENUM_LABEL_AUDIO_LATENCY)); layout->add(menu_setting_find_enum(MENU_ENUM_LABEL_AUDIO_LATENCY));
layout->add(menu_setting_find_enum(MENU_ENUM_LABEL_INPUT_POLL_TYPE_BEHAVIOR)); layout->add(menu_setting_find_enum(MENU_ENUM_LABEL_INPUT_POLL_TYPE_BEHAVIOR));
runAheadGroup->add(menu_setting_find_enum(MENU_ENUM_LABEL_RUN_AHEAD_FRAMES)); runAheadGroup->add(MENU_ENUM_LABEL_RUNAHEAD_MODE);
runAheadGroup->add(menu_setting_find_enum(MENU_ENUM_LABEL_RUN_AHEAD_SECONDARY_INSTANCE)); runAheadGroup->add(MENU_ENUM_LABEL_RUN_AHEAD_FRAMES);
runAheadGroup->add(menu_setting_find_enum(MENU_ENUM_LABEL_RUN_AHEAD_HIDE_WARNINGS)); runAheadGroup->add(MENU_ENUM_LABEL_RUN_AHEAD_HIDE_WARNINGS);
layout->addRow(runAheadGroup); layout->addRow(runAheadGroup);
preemptGroup->add(menu_setting_find_enum(MENU_ENUM_LABEL_PREEMPT_FRAMES));
preemptGroup->add(menu_setting_find_enum(MENU_ENUM_LABEL_PREEMPT_HIDE_WARNINGS));
layout->addRow(preemptGroup);
widget->setLayout(layout); widget->setLayout(layout);
return widget; return widget;