diff --git a/config.def.h b/config.def.h index c0bc5dc790..9c3f106136 100644 --- a/config.def.h +++ b/config.def.h @@ -399,9 +399,6 @@ #define MAXIMUM_FRAME_DELAY 99 #define DEFAULT_FRAME_DELAY_AUTO false -/* Try to sleep the spare time after frame is presented in order to reduce vsync CPU usage. */ -#define DEFAULT_FRAME_REST false - /* Duplicates frames for the purposes of running Shaders at a higher framerate * than content framerate. Requires running screen at multiple of 60hz, and * don't combine with Swap_interval > 1, or BFI. (Though BFI can be done in a shader diff --git a/configuration.c b/configuration.c index a327d72f80..24f4c0b6d1 100644 --- a/configuration.c +++ b/configuration.c @@ -1862,7 +1862,6 @@ static struct config_bool_setting *populate_settings_bool( SETTING_BOOL("video_ctx_scaling", &settings->bools.video_ctx_scaling, true, DEFAULT_VIDEO_CTX_SCALING, false); SETTING_BOOL("video_force_aspect", &settings->bools.video_force_aspect, true, DEFAULT_FORCE_ASPECT, false); SETTING_BOOL("video_frame_delay_auto", &settings->bools.video_frame_delay_auto, true, DEFAULT_FRAME_DELAY_AUTO, false); - SETTING_BOOL("video_frame_rest", &settings->bools.video_frame_rest, true, DEFAULT_FRAME_REST, false); #if defined(DINGUX) SETTING_BOOL("video_dingux_ipu_keep_aspect", &settings->bools.video_dingux_ipu_keep_aspect, true, DEFAULT_DINGUX_IPU_KEEP_ASPECT, false); #endif diff --git a/configuration.h b/configuration.h index 74cfff1148..79cd333eb3 100644 --- a/configuration.h +++ b/configuration.h @@ -609,7 +609,6 @@ typedef struct settings bool video_ctx_scaling; bool video_force_aspect; bool video_frame_delay_auto; - bool video_frame_rest; bool video_crop_overscan; bool video_aspect_ratio_auto; bool video_dingux_ipu_keep_aspect; diff --git a/gfx/video_driver.c b/gfx/video_driver.c index 09011d2341..ad2735deba 100644 --- a/gfx/video_driver.c +++ b/gfx/video_driver.c @@ -68,7 +68,6 @@ #define TIME_TO_FPS(last_time, new_time, frames) ((1000000.0f * (frames)) / ((new_time) - (last_time))) #define FRAME_DELAY_AUTO_DEBUG 0 -#define FRAME_REST_DEBUG 0 typedef struct { @@ -2708,7 +2707,6 @@ void video_driver_build_info(video_frame_info_t *video_info) video_info->runloop_is_paused = (runloop_st->flags & RUNLOOP_FLAG_PAUSED) ? true : false; video_info->runloop_is_slowmotion = (runloop_st->flags & RUNLOOP_FLAG_SLOWMOTION) ? true : false; video_info->fastforward_frameskip = settings->bools.fastforward_frameskip; - video_info->frame_rest = settings->bools.video_frame_rest; #ifdef _WIN32 #ifdef HAVE_VULKAN @@ -3840,7 +3838,6 @@ void video_driver_frame(const void *data, unsigned width, audio_statistics_t audio_stats; char tmp[256]; char latency_stats[256]; - char throttle_stats[128]; size_t len; double stddev = 0.0; float font_size_scale = (float)video_info.font_size / 100; @@ -3886,28 +3883,10 @@ void video_driver_frame(const void *data, unsigned width, audio_compute_buffer_statistics(&audio_stats); - throttle_stats[0] = '\0'; latency_stats[0] = '\0'; tmp[0] = '\0'; len = 0; - if (video_info.frame_rest) - len = snprintf(tmp + len, sizeof(throttle_stats), - " Frame Rest: %2u.00 ms\n" - " - Rested: %5.2f %%\n", - video_st->frame_rest, - (float)video_st->frame_rest_time_count / runloop_st->core_runtime_usec * 100); - - if (len) - { - /* TODO/FIXME - localize */ - size_t _len = strlcpy(throttle_stats, "THROTTLE\n", sizeof(throttle_stats)); - strlcpy(throttle_stats + _len, tmp, sizeof(throttle_stats) - _len); - } - - tmp[0] = '\0'; - len = 0; - /* TODO/FIXME - localize */ if (video_st->frame_delay_target > 0) len = snprintf(tmp, sizeof(latency_stats), @@ -3968,7 +3947,6 @@ void video_driver_frame(const void *data, unsigned width, " Underrun: %5.2f %%\n" " Blocking: %5.2f %%\n" " Samples: %8d\n" - "%s" "%s", av_info->geometry.base_width, av_info->geometry.base_height, @@ -3992,7 +3970,6 @@ void video_driver_frame(const void *data, unsigned width, audio_stats.close_to_underrun, audio_stats.close_to_blocking, audio_stats.samples, - throttle_stats, latency_stats); /* TODO/FIXME - add OSD chat text here */ @@ -4565,149 +4542,3 @@ void video_frame_delay_auto(video_driver_state_t *video_st, video_frame_delay_au ); #endif } - -void video_frame_rest(video_driver_state_t *video_st, - settings_t *settings, - retro_time_t current_time) -{ - runloop_state_t *runloop_st = runloop_state_get_ptr(); - audio_statistics_t audio_stats = {0}; - double video_stddev = 0; - static retro_time_t after_present = 0; - retro_time_t latest_time = cpu_features_get_time_usec(); - retro_time_t frame_time_delta = latest_time - current_time; - uint16_t frame_time_target = 1000000.0f / settings->floats.video_refresh_rate; - uint16_t frame_time = 0; - static int8_t frame_time_over_count = 0; - static int8_t frame_time_near_count = 0; - static int8_t frame_time_try_count = 0; - uint8_t frame_time_near_req_count = ceil(settings->floats.video_refresh_rate / 2); - uint8_t sleep_max = frame_time_target / 1000 / 2; - uint8_t sleep = 0; -#ifdef HAVE_MENU - bool menu_is_alive = (menu_state_get_ptr()->flags & MENU_ST_FLAG_ALIVE); - bool menu_is_pausing = settings->bools.menu_pause_libretro && menu_is_alive; -#else - bool menu_is_alive = false; - bool menu_is_pausing = false; -#endif - - /* Don't care about deviations when core is not running */ - if ( !menu_is_alive - && !(runloop_st->flags & RUNLOOP_FLAG_PAUSED) - && (runloop_st->flags & RUNLOOP_FLAG_CORE_RUNNING)) - { - /* Must require video and audio deviation standards */ - video_monitor_fps_statistics(NULL, &video_stddev, NULL); - audio_compute_buffer_statistics(&audio_stats); - } - - /* Compare to previous timestamp */ - frame_time = latest_time - after_present; - - /* Count running timers */ - if (frame_time > frame_time_target) - frame_time_over_count++; - else if (frame_time < frame_time_target) - frame_time_over_count--; - - if (abs(frame_time - frame_time_target) < frame_time_target * 0.002f) - frame_time_near_count++; - else - frame_time_near_count--; - - /* Take new timestamp */ - after_present = latest_time; - - /* Ignore unreasonable frame times */ - if ( frame_time < frame_time_target / 2 - || frame_time > frame_time_target * 2) - return; - - /* Carry the extra */ - frame_time_delta -= frame_time_target - frame_time; - sleep = (frame_time_delta > 0) ? frame_time_delta : 0; - - /* No rest with bogus values */ - if ( sleep < 0 - || ( frame_time_target < frame_time_delta - && frame_time_target < frame_time)) - sleep = 0; - - /* Reset over the target counter */ - if (!sleep) - frame_time_over_count = 0; - - frame_time_try_count++; - if ( frame_time_try_count > frame_time_near_req_count * 2 - || frame_time_try_count < frame_time_near_count) - frame_time_over_count = frame_time_near_count = frame_time_try_count = 0; - - /* Increase */ - if ( sleep - && (frame_time_over_count < 2) - && (video_stddev * 100.0f < 20.00f) - && (audio_stats.std_deviation_percentage < 25.00f) - && (frame_time_near_count > frame_time_try_count / 2) - && (frame_time_near_count > frame_time_near_req_count) - ) - { -#if FRAME_REST_DEBUG - RARCH_DBG("+ frame=%5d delta=%5d sleep=%2d over=%3d near=%3d try=%3d\n", frame_time, frame_time_delta, video_st->frame_rest, frame_time_over_count, frame_time_near_count, frame_time_try_count); -#endif - video_st->frame_rest++; - frame_time_over_count = frame_time_near_count = frame_time_try_count = 0; - } - /* Decrease */ - else if (sleep - && (frame_time_over_count != 0) - && (frame_time_try_count > 10) - && ( (frame_time_near_count < -2 && -frame_time_near_count >= frame_time_try_count) - || (frame_time_over_count > frame_time_near_req_count / 2) - || (frame_time_over_count < -(frame_time_near_req_count / 2)) - ) - ) - { -#if FRAME_REST_DEBUG - RARCH_DBG("- frame=%5d delta=%5d sleep=%2d over=%3d near=%3d try=%3d\n", frame_time, frame_time_delta, video_st->frame_rest, frame_time_over_count, frame_time_near_count, frame_time_try_count); -#endif - if (video_st->frame_rest) - video_st->frame_rest--; - frame_time_over_count = frame_time_near_count = frame_time_try_count = 0; - } - - /* Limit to maximum sleep */ - if (video_st->frame_rest > sleep_max) - video_st->frame_rest = sleep_max; - - /* Subtract effective frame delay */ - if (video_st->frame_delay_effective >= 0 && video_st->frame_rest > 0) - { - int new_rest = video_st->frame_rest; - - if (new_rest + video_st->frame_delay_effective > sleep_max) - new_rest = sleep_max - video_st->frame_delay_effective; - if (new_rest < 0) - new_rest = 0; - - /* Only allow recover from dropped frame delay if in menu */ - if ( video_st->frame_delay_effective < video_st->frame_delay_target - && video_st->frame_delay_effective < video_st->frame_rest - && !menu_is_alive) - new_rest = video_st->frame_delay_effective; - - video_st->frame_rest = new_rest; - } - -#if FRAME_REST_DEBUG - RARCH_DBG(" frame=%5d delta=%5d sleep=%2d over=%3d near=%3d try=%3d %f %f\n", frame_time, frame_time_delta, video_st->frame_rest, frame_time_over_count, frame_time_near_count, frame_time_try_count, video_stddev, audio_stats.std_deviation_percentage); -#endif - - /* Do what is promised and add to statistics */ - if (video_st->frame_rest > 0) - { - if (!menu_is_pausing) - video_st->frame_rest_time_count += video_st->frame_rest * 1000; - retro_sleep(video_st->frame_rest); - } -} diff --git a/gfx/video_driver.h b/gfx/video_driver.h index 7caf6093cc..e7f70975c9 100644 --- a/gfx/video_driver.h +++ b/gfx/video_driver.h @@ -485,7 +485,6 @@ typedef struct video_frame_info bool runloop_is_slowmotion; bool runloop_is_paused; bool fastforward_frameskip; - bool frame_rest; bool msg_bgcolor_enable; bool crt_switch_hires_menu; bool hdr_enable; @@ -779,7 +778,6 @@ typedef struct retro_time_t frame_time_samples[MEASURE_FRAME_TIME_SAMPLES_COUNT]; uint64_t frame_time_count; uint64_t frame_count; - uint64_t frame_rest_time_count; uint8_t *record_gpu_buffer; #ifdef HAVE_VIDEO_FILTER rarch_softfilter_t *state_filter; @@ -867,7 +865,6 @@ typedef struct uint16_t frame_drop_count; uint16_t frame_time_reserve; - uint8_t frame_rest; uint8_t frame_delay_target; uint8_t frame_delay_effective; bool frame_delay_pause; @@ -1133,10 +1130,6 @@ void video_frame_delay(video_driver_state_t *video_st, void video_frame_delay_auto(video_driver_state_t *video_st, video_frame_delay_auto_t *vfda); -void video_frame_rest(video_driver_state_t *video_st, - settings_t *settings, - retro_time_t current_time); - /** * video_context_driver_init: * @core_set_shared_context : Boolean value that tells us whether shared context diff --git a/intl/msg_hash_be.h b/intl/msg_hash_be.h index 25931b08f4..2070a33011 100644 --- a/intl/msg_hash_be.h +++ b/intl/msg_hash_be.h @@ -8943,10 +8943,6 @@ MSG_HASH( MENU_ENUM_LABEL_VALUE_WIFI_NETWORKS, "Злучыцца з сеткай" ) -MSG_HASH( - MENU_ENUM_LABEL_VALUE_VIDEO_FRAME_REST, - "Спакой кадраў" - ) MSG_HASH( MENU_ENUM_LABEL_VALUE_INPUT_META_RESTART_KEY, "Перазапуск RetroArch" diff --git a/intl/msg_hash_chs.h b/intl/msg_hash_chs.h index 93e786dbf1..0cc5d2058f 100644 --- a/intl/msg_hash_chs.h +++ b/intl/msg_hash_chs.h @@ -15163,14 +15163,6 @@ MSG_HASH( MENU_ENUM_LABEL_HELP_GAMEMODE_ENABLE, "启用 Linux 游戏模式可以通过自动配置 CPU 和 GPU 的最佳性能来提高延迟性,修复音频破解问题,并最大限度地提高整体性能。\n需要安装游戏模式软件才能正常工作。请参阅https://github.com/FeralInteractive/gamemode获取如何安装 GameMode的信息。" ) -MSG_HASH( - MENU_ENUM_LABEL_VALUE_VIDEO_FRAME_REST, - "图像休眠" - ) -MSG_HASH( - MENU_ENUM_SUBLABEL_VIDEO_FRAME_REST, - "尽量在图像显示后通过休眠来减少垂直同步 CPU使用率。主要为第三方扫描同步设计。" - ) MSG_HASH( MENU_ENUM_LABEL_VALUE_PAL60_ENABLE, "使用 PAL60 模式" diff --git a/intl/msg_hash_cs.h b/intl/msg_hash_cs.h index f4960ca3ea..2331b3c61e 100644 --- a/intl/msg_hash_cs.h +++ b/intl/msg_hash_cs.h @@ -14647,14 +14647,6 @@ MSG_HASH( MENU_ENUM_LABEL_HELP_GAMEMODE_ENABLE, "Zapnutím režimu Linux GameMode lze zlepšit latenci, odstranit problémy s praskáním zvuku a maximalizovat celkový výkon automatickou konfigurací CPU a GPU pro nejlepší výkon.\nPro fungování tohoto režimu je třeba nainstalovat software Herní mód. Informace o instalaci Herní mód naleznete na adrese https://github.com/FeralInteractive/gamemode." ) -MSG_HASH( - MENU_ENUM_LABEL_VALUE_VIDEO_FRAME_REST, - "Snímkový odpočinek" - ) -MSG_HASH( - MENU_ENUM_SUBLABEL_VIDEO_FRAME_REST, - "Pokuste se snížit využití procesoru vsync tím, že po prezentaci snímku co nejvíce uspíte. Určeno především pro synchronizaci skenovací linie třetích stran." - ) MSG_HASH( MENU_ENUM_LABEL_VALUE_PAL60_ENABLE, "Použít režim PAL60r" diff --git a/intl/msg_hash_de.h b/intl/msg_hash_de.h index f7e339470c..84bc3a83c4 100644 --- a/intl/msg_hash_de.h +++ b/intl/msg_hash_de.h @@ -14867,14 +14867,6 @@ MSG_HASH( MENU_ENUM_LABEL_HELP_GAMEMODE_ENABLE, "Das Aktivieren von Linux GameMode kann die Latenzzeit verbessern, Audioknackser beheben und die Gesamtleistung maximieren, indem CPU und GPU automatisch für die beste Leistung konfiguriert werden.\nDie GameMode-Software muss installiert sein, damit dies funktioniert. Siehe https://github.com/FeralInteractive/gamemode für Informationen zur Installation von GameMode." ) -MSG_HASH( - MENU_ENUM_LABEL_VALUE_VIDEO_FRAME_REST, - "Bildpausen" - ) -MSG_HASH( - MENU_ENUM_SUBLABEL_VIDEO_FRAME_REST, - "Versucht, die CPU-Last von vsync zu reduzieren, indem es nach der Framedarstellung so viel wie möglich ruht. In erster Linie für Scanline-Synchronisation von Drittanbietern entwickelt." - ) MSG_HASH( MENU_ENUM_LABEL_VALUE_PAL60_ENABLE, "Verwende PAL60-Modus" diff --git a/intl/msg_hash_es.h b/intl/msg_hash_es.h index 94c569e024..88949cc263 100644 --- a/intl/msg_hash_es.h +++ b/intl/msg_hash_es.h @@ -15211,14 +15211,6 @@ MSG_HASH( MENU_ENUM_LABEL_HELP_GAMEMODE_ENABLE, "Activar el GameMode de Linux podría mejorar la latencia, corregir chasquidos en el audio y maximizar el rendimiento general configurando de forma automática tu CPU y GPU para sacarles el máximo partido.\nEs necesario tener instalado el software GameMode para que esta opción surta efecto. Para más información sobre cómo instalar GameMode, visita https://github.com/FeralInteractive/gamemode (en inglés)." ) -MSG_HASH( - MENU_ENUM_LABEL_VALUE_VIDEO_FRAME_REST, - "Poner fotogramas en reposo" - ) -MSG_HASH( - MENU_ENUM_SUBLABEL_VIDEO_FRAME_REST, - "Intenta reducir el consumo de CPU de la sincronía vertical poniéndola en espera todo el tiempo posible tras presentar cada fotograma. Opción diseñada principalmente para sincronizarse con filtros de líneas de barrido («scanlines») de terceros." - ) MSG_HASH( MENU_ENUM_LABEL_VALUE_PAL60_ENABLE, "Usar modo PAL60" diff --git a/intl/msg_hash_fr.h b/intl/msg_hash_fr.h index 985d6b9cca..b56408bea5 100644 --- a/intl/msg_hash_fr.h +++ b/intl/msg_hash_fr.h @@ -15171,14 +15171,6 @@ MSG_HASH( MENU_ENUM_LABEL_HELP_GAMEMODE_ENABLE, "Activer le GameMode de Linux peut améliorer la latence, corriger les problèmes de crépitements audio et maximiser les performances globales en configurant automatiquement votre processeur et votre processeur graphique pour les meilleures performances.\nLe logiciel GameMode doit être installé pour que cela fonctionne. Consultez https://github.com/FeralInteractive/gamemode pour plus d'informations sur l'installation de GameMode." ) -MSG_HASH( - MENU_ENUM_LABEL_VALUE_VIDEO_FRAME_REST, - "Repos de l'image" - ) -MSG_HASH( - MENU_ENUM_SUBLABEL_VIDEO_FRAME_REST, - "Tenter de réduire l'utilisation processeur pour la synchronisation verticale (vsync) en se mettant le plus possible en veille après la présentation d'images. Conçu principalement pour les systèmes de synchronisation des lignes de balayage tiers." - ) MSG_HASH( MENU_ENUM_LABEL_VALUE_PAL60_ENABLE, "Utiliser le mode PAL60" diff --git a/intl/msg_hash_gl.h b/intl/msg_hash_gl.h index 0f14b7ccaf..7b27017d5a 100644 --- a/intl/msg_hash_gl.h +++ b/intl/msg_hash_gl.h @@ -15027,14 +15027,6 @@ MSG_HASH( MENU_ENUM_LABEL_HELP_GAMEMODE_ENABLE, "A activación de Linux GameMode pode mellorar a latencia, solucionar problemas de crepitación de audio e maximizar o rendemento xeral configurando automaticamente a CPU e a GPU para obter o mellor rendemento.\nPara que funcione, é necesario instalar o software GameMode. Consulte https://github.com/FeralInteractive/gamemode para obter información sobre como instalar GameMode." ) -MSG_HASH( - MENU_ENUM_LABEL_VALUE_VIDEO_FRAME_REST, - "Pausa de fotogramas" - ) -MSG_HASH( - MENU_ENUM_SUBLABEL_VIDEO_FRAME_REST, - "Tentar reducir o uso da CPU pola sincronía vertical durmindo o máximo posible tras a presentación do fotograma. Deseñado principalmente para a sincronización de terceiros por scanlines." - ) MSG_HASH( MENU_ENUM_LABEL_VALUE_PAL60_ENABLE, "Use o modo PAL60" diff --git a/intl/msg_hash_hu.h b/intl/msg_hash_hu.h index 69911e022f..13afe75800 100644 --- a/intl/msg_hash_hu.h +++ b/intl/msg_hash_hu.h @@ -14919,14 +14919,6 @@ MSG_HASH( MENU_ENUM_LABEL_HELP_GAMEMODE_ENABLE, "A Linux GameMode engedélyezése segíthet a késleltetésen, megjavíthatja a hang recsegését és az általános teljesítményt maximalizálhatja, a CPU és a GPU konfigurálásával a legjobb teljesítményhez.\nA GameMode programot ehhez telepíteni kell. A GameMode telepítési információi: https://github.com/FeralInteractive/gamemode." ) -MSG_HASH( - MENU_ENUM_LABEL_VALUE_VIDEO_FRAME_REST, - "Képkocka pihentetés" - ) -MSG_HASH( - MENU_ENUM_SUBLABEL_VIDEO_FRAME_REST, - "A függőleges szinkron CPU használatának csökkentése, a képmegjelenítés után alvó módba állítás, ameddig csak lehetséges. Elsősorban külső scanline szinkronizáló programokhoz." - ) MSG_HASH( MENU_ENUM_LABEL_VALUE_PAL60_ENABLE, "PAL60 mód használata" diff --git a/intl/msg_hash_it.h b/intl/msg_hash_it.h index fdee6df8f9..c6425144ba 100644 --- a/intl/msg_hash_it.h +++ b/intl/msg_hash_it.h @@ -14991,14 +14991,6 @@ MSG_HASH( MENU_ENUM_LABEL_HELP_GAMEMODE_ENABLE, "Abilitare Linux GameMode può migliorare la latenza, correggere i problemi di crackling audio e massimizzare le prestazioni complessive configurando automaticamente la CPU e la GPU per le migliori prestazioni.\nIl software GameMode deve essere installato per funzionare. Vedi https://github.com/FeralInteractive/gamemode per informazioni su come installare GameMode." ) -MSG_HASH( - MENU_ENUM_LABEL_VALUE_VIDEO_FRAME_REST, - "Riposo fotogramma" - ) -MSG_HASH( - MENU_ENUM_SUBLABEL_VIDEO_FRAME_REST, - "Prova a ridurre l'utilizzo della CPU vsync dormendo il più possibile dopo la presentazione del quadro. Progettato principalmente per la sincronizzazione di scanline di terze parti." - ) MSG_HASH( MENU_ENUM_LABEL_VALUE_PAL60_ENABLE, "Usa modalità PAL60" diff --git a/intl/msg_hash_ja.h b/intl/msg_hash_ja.h index 0075d8288f..eb9048e34c 100644 --- a/intl/msg_hash_ja.h +++ b/intl/msg_hash_ja.h @@ -15155,14 +15155,6 @@ MSG_HASH( MENU_ENUM_LABEL_HELP_GAMEMODE_ENABLE, "Linux GameMode を有効にすることで、レイテンシを改善し、音割れの問題を修正し、最高のパフォーマンスを得るために CPU と GPU を自動的に設定することで全体的なパフォーマンスを最大化できます。\nGame Mode ソフトウェアをインストールする必要があります。GameMode のインストール方法については、https://github.com/FeralInteractive/gamemode を参照してください。" ) -MSG_HASH( - MENU_ENUM_LABEL_VALUE_VIDEO_FRAME_REST, - "フレームレスト" - ) -MSG_HASH( - MENU_ENUM_SUBLABEL_VIDEO_FRAME_REST, - "フレーム提示のあと、できるだけスリープさせることで垂直同期の CPU 使用率の軽減を試みます。主にサードパーティのスキャンライン同期用に設計されています。" - ) MSG_HASH( MENU_ENUM_LABEL_VALUE_PAL60_ENABLE, "PAL60モードを使用" diff --git a/intl/msg_hash_ko.h b/intl/msg_hash_ko.h index db5335d1ba..76d280da2f 100644 --- a/intl/msg_hash_ko.h +++ b/intl/msg_hash_ko.h @@ -15319,14 +15319,6 @@ MSG_HASH( MENU_ENUM_LABEL_HELP_GAMEMODE_ENABLE, "Linux에서 GameMode를 활성화하면 자동으로 CPU와 GPU를 최고 성능 모드로 변경하여 지연 시간이 줄어들고, 오디오 깨짐이 고쳐지고, 전체적인 성능이 최대화되는 등의 효과를 볼 수 있습니다.\n사용하려면 GameMode 소프트웨어가 설치되어 있어야 합니다. GameMode를 설치하는 방법은 https://github.com/FeralInteractive/gamemode 에서 확인하실 수 있습니다." ) -MSG_HASH( - MENU_ENUM_LABEL_VALUE_VIDEO_FRAME_REST, - "프레임 휴식" - ) -MSG_HASH( - MENU_ENUM_SUBLABEL_VIDEO_FRAME_REST, - "프레임 표시 후에 가능한 만큼 최대한 슬립하여 수직 동기 시 CPU 사용량을 줄입니다. 서드 파티 스캔라인 동기화를 위한 기능입니다." - ) MSG_HASH( MENU_ENUM_LABEL_VALUE_PAL60_ENABLE, "PAL60 모드 사용" diff --git a/intl/msg_hash_lbl.h b/intl/msg_hash_lbl.h index 4510d9f6fd..745d18325b 100644 --- a/intl/msg_hash_lbl.h +++ b/intl/msg_hash_lbl.h @@ -4406,10 +4406,6 @@ MSG_HASH( MENU_ENUM_LABEL_VIDEO_FRAME_DELAY_AUTO, "video_frame_delay_auto" ) -MSG_HASH( - MENU_ENUM_LABEL_VIDEO_FRAME_REST, - "video_frame_rest" - ) MSG_HASH( MENU_ENUM_LABEL_VIDEO_SHADER_DELAY, "video_shader_delay" diff --git a/intl/msg_hash_ru.h b/intl/msg_hash_ru.h index 6d05a2dc86..f128b874b0 100644 --- a/intl/msg_hash_ru.h +++ b/intl/msg_hash_ru.h @@ -15235,14 +15235,6 @@ MSG_HASH( MENU_ENUM_LABEL_HELP_GAMEMODE_ENABLE, "Включение Linux GameMode может уменьшить задержку, исправить проблемы со звуком и повысить общую производительность путём автонастройки CPU и GPU для оптимальной эффективности.\nТребуется установка программного обеспечения GameMode. Посетите https://github.com/FeralInteractive/gamemode для получения ин[...]" ) -MSG_HASH( - MENU_ENUM_LABEL_VALUE_VIDEO_FRAME_REST, - "Простой кадра" - ) -MSG_HASH( - MENU_ENUM_SUBLABEL_VIDEO_FRAME_REST, - "Пытаться снижать нагрузку на CPU при верт. синхронизации путём максимального бездействия после вывода кадра. Предназначено главным образом для сторонних методов синхронизации строк развёртки." - ) MSG_HASH( MENU_ENUM_LABEL_VALUE_PAL60_ENABLE, "Использовать режим PAL60" diff --git a/intl/msg_hash_tr.h b/intl/msg_hash_tr.h index 936abfb336..2681d21c1c 100644 --- a/intl/msg_hash_tr.h +++ b/intl/msg_hash_tr.h @@ -15291,14 +15291,6 @@ MSG_HASH( MENU_ENUM_LABEL_HELP_GAMEMODE_ENABLE, "Linux GameMode etkinleştirilmesi, en iyi performans için CPU ve GPU'nuzu otomatik olarak yapılandırarak gecikmeyi iyileştirebilir, ses cızırtı sorunlarını düzeltebilir ve genel performansı en üst düzeye çıkarabilir.\nBunun çalışması için GameMode yazılımının yüklenmesi gerekir. GameMode nasıl kurulacağı hakkında bilgi için https://github.com/FeralInteractive/gamemode adresine bakın." ) -MSG_HASH( - MENU_ENUM_LABEL_VALUE_VIDEO_FRAME_REST, - "Kare Desteği" - ) -MSG_HASH( - MENU_ENUM_SUBLABEL_VIDEO_FRAME_REST, - "Kare sunumundan sonra mümkün olduğunca uyuyarak vsync CPU kullanımını azaltmaya çalışın. Öncelikle üçüncü taraf tarama hattı eşitlenmesi için tasarlandı." - ) MSG_HASH( MENU_ENUM_LABEL_VALUE_PAL60_ENABLE, "PAL60 Kipi Kullan" diff --git a/intl/msg_hash_us.h b/intl/msg_hash_us.h index f7274b92e1..dcd364bca9 100644 --- a/intl/msg_hash_us.h +++ b/intl/msg_hash_us.h @@ -16011,14 +16011,6 @@ MSG_HASH( MENU_ENUM_LABEL_HELP_GAMEMODE_ENABLE, "Enabling Linux GameMode can improve latency, fix audio crackling issues and maximize overall performance by automatically configuring your CPU and GPU for best performance.\nThe GameMode software needs to be installed for this to work. See https://github.com/FeralInteractive/gamemode for information on how to install GameMode." ) -MSG_HASH( - MENU_ENUM_LABEL_VALUE_VIDEO_FRAME_REST, - "Frame Rest" - ) -MSG_HASH( - MENU_ENUM_SUBLABEL_VIDEO_FRAME_REST, - "Try to reduce vsync CPU usage by sleeping as much as possible after frame presentation. Designed primarily for third party scanline sync." - ) MSG_HASH( MENU_ENUM_LABEL_VALUE_PAL60_ENABLE, "Use PAL60 Mode" diff --git a/menu/cbs/menu_cbs_sublabel.c b/menu/cbs/menu_cbs_sublabel.c index 5b4b5df43e..5e8c1f588a 100644 --- a/menu/cbs/menu_cbs_sublabel.c +++ b/menu/cbs/menu_cbs_sublabel.c @@ -1298,7 +1298,6 @@ DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_gamemode_enable, MENU #endif #endif /*HAVE_LAKKA*/ -DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_video_frame_rest, MENU_ENUM_SUBLABEL_VIDEO_FRAME_REST) DEFAULT_SUBLABEL_MACRO(action_bind_sublabel_brightness_control, MENU_ENUM_SUBLABEL_BRIGHTNESS_CONTROL) #ifdef _3DS @@ -5403,9 +5402,6 @@ int menu_cbs_init_bind_sublabel(menu_file_list_cbs_t *cbs, BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_gamemode_enable); break; #endif /*HAVE_LAKKA*/ - case MENU_ENUM_LABEL_VIDEO_FRAME_REST: - BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_video_frame_rest); - break; case MENU_ENUM_LABEL_BRIGHTNESS_CONTROL: BIND_ACTION_SUBLABEL(cbs, action_bind_sublabel_brightness_control); break; diff --git a/menu/drivers/ozone.c b/menu/drivers/ozone.c index 30320973fd..7635f199ac 100644 --- a/menu/drivers/ozone.c +++ b/menu/drivers/ozone.c @@ -1993,7 +1993,6 @@ static uintptr_t ozone_entries_icon_get_texture( case MENU_ENUM_LABEL_CONTENT_SHOW_LATENCY: case MENU_ENUM_LABEL_SETTINGS_SHOW_LATENCY: case MENU_ENUM_LABEL_MENU_THROTTLE_FRAMERATE: - case MENU_ENUM_LABEL_VIDEO_FRAME_REST: return ozone->icons_textures[OZONE_ENTRIES_ICONS_TEXTURE_LATENCY]; case MENU_ENUM_LABEL_SAVING_SETTINGS: case MENU_ENUM_LABEL_SETTINGS_SHOW_SAVING: diff --git a/menu/drivers/xmb.c b/menu/drivers/xmb.c index eb59a8aa40..3fae57d54c 100644 --- a/menu/drivers/xmb.c +++ b/menu/drivers/xmb.c @@ -3313,7 +3313,6 @@ static uintptr_t xmb_icon_get_id(xmb_handle_t *xmb, case MENU_ENUM_LABEL_CONTENT_SHOW_LATENCY: case MENU_ENUM_LABEL_SETTINGS_SHOW_LATENCY: case MENU_ENUM_LABEL_MENU_THROTTLE_FRAMERATE: - case MENU_ENUM_LABEL_VIDEO_FRAME_REST: return xmb->textures.list[XMB_TEXTURE_LATENCY]; case MENU_ENUM_LABEL_SAVING_SETTINGS: case MENU_ENUM_LABEL_SETTINGS_SHOW_SAVING: diff --git a/menu/menu_displaylist.c b/menu/menu_displaylist.c index 45776c9657..44c6621c65 100644 --- a/menu/menu_displaylist.c +++ b/menu/menu_displaylist.c @@ -10906,7 +10906,6 @@ unsigned menu_displaylist_build_list( { menu_displaylist_build_info_t build_list[] = { {MENU_ENUM_LABEL_FASTFORWARD_FRAMESKIP, PARSE_ONLY_BOOL}, - {MENU_ENUM_LABEL_VIDEO_FRAME_REST, PARSE_ONLY_BOOL}, {MENU_ENUM_LABEL_SUSTAINED_PERFORMANCE_MODE, PARSE_ONLY_BOOL}, {MENU_ENUM_LABEL_CPU_PERFPOWER, PARSE_ACTION}, #ifdef HAVE_LAKKA @@ -11391,7 +11390,6 @@ unsigned menu_displaylist_build_list( {MENU_ENUM_LABEL_SLOWMOTION_RATIO, PARSE_ONLY_FLOAT, true}, {MENU_ENUM_LABEL_VRR_RUNLOOP_ENABLE, PARSE_ONLY_BOOL, true}, {MENU_ENUM_LABEL_MENU_THROTTLE_FRAMERATE, PARSE_ONLY_BOOL, false}, - {MENU_ENUM_LABEL_VIDEO_FRAME_REST, PARSE_ONLY_BOOL, true}, }; #ifdef HAVE_REWIND diff --git a/menu/menu_setting.c b/menu/menu_setting.c index b08f0a8da7..3a92ade5a4 100644 --- a/menu/menu_setting.c +++ b/menu/menu_setting.c @@ -20324,21 +20324,6 @@ static bool setting_append_list( general_read_handler, SD_FLAG_NONE); - CONFIG_BOOL( - list, list_info, - &settings->bools.video_frame_rest, - MENU_ENUM_LABEL_VIDEO_FRAME_REST, - MENU_ENUM_LABEL_VALUE_VIDEO_FRAME_REST, - DEFAULT_FRAME_REST, - 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); - END_SUB_GROUP(list, list_info, parent_group); END_GROUP(list, list_info, parent_group); break; diff --git a/msg_hash.h b/msg_hash.h index 7f1823ffe4..b10a008da1 100644 --- a/msg_hash.h +++ b/msg_hash.h @@ -3982,7 +3982,6 @@ enum msg_hash_enums MENU_LABEL(CPU_MANAGED_MAX_FREQ), MENU_LBL_H(GAMEMODE_ENABLE), MENU_ENUM_SUBLABEL_GAMEMODE_ENABLE_LINUX, - MENU_LABEL(VIDEO_FRAME_REST), MENU_ENUM_LABEL_VALUE_CPU_PERF_MODE_MANAGED_PERF, MENU_ENUM_LABEL_VALUE_CPU_PERF_MODE_MANAGED_PER_CONTEXT, diff --git a/runloop.c b/runloop.c index 1666132bbf..c3a2769c22 100644 --- a/runloop.c +++ b/runloop.c @@ -4102,10 +4102,6 @@ void runloop_event_deinit_core(void) if (settings->bools.video_frame_delay_auto) video_st->frame_delay_target = 0; - /* Reset frame rest counter */ - if (settings->bools.video_frame_rest) - video_st->frame_rest_time_count = video_st->frame_rest = 0; - driver_uninit(DRIVERS_CMD_ALL, 0); #ifdef HAVE_CONFIGFILE @@ -7259,11 +7255,6 @@ end: runloop_st->frame_limit_last_time = end_frame_time; } - /* Post-frame power saving sleep resting */ - if ( settings->bools.video_frame_rest - && !(input_st->flags & INP_FLAG_NONBLOCKING)) - video_frame_rest(video_st, settings, current_time); - /* Frame delay */ if ( !(input_st->flags & INP_FLAG_NONBLOCKING) || (runloop_st->flags & RUNLOOP_FLAG_FASTMOTION))