From: Autechre Date: Wed, 23 Mar 2022 21:04:15 +0000 (+0100) Subject: Merge pull request #631 from neonloop/autoframeskip X-Git-Tag: r24l~488 X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=commitdiff_plain;ds=sidebyside;h=e4072f7f86a2ce035593856fd5854f316843fb39;hp=-c;p=pcsx_rearmed.git Merge pull request #631 from neonloop/autoframeskip Adds auto frameskip based on free audio buffer space --- e4072f7f86a2ce035593856fd5854f316843fb39 diff --combined frontend/libretro_core_options.h index b801ef51,501f3cd9..d8b37dfc --- a/frontend/libretro_core_options.h +++ b/frontend/libretro_core_options.h @@@ -51,17 -51,61 +51,61 @@@ extern "C" struct retro_core_option_definition option_defs_us[] = { { - "pcsx_rearmed_frameskip", + "pcsx_rearmed_frameskip_type", "Frameskip", - "Choose how much frames should be skipped to improve performance at the expense of visual smoothness.", + "Skip frames to avoid audio buffer under-run (crackling). Improves performance at the expense of visual smoothness. 'Auto' skips frames when advised by the frontend. 'Auto (Threshold)' utilises the 'Frameskip Threshold (%)' setting. 'Fixed Interval' utilises the 'Frameskip Interval' setting.", + { + { "disabled", NULL }, + { "auto", "Auto" }, + { "auto_threshold", "Auto (Threshold)" }, + { "fixed_interval", "Fixed Interval" }, + { NULL, NULL }, + }, + "disabled" + }, + { + "pcsx_rearmed_frameskip_threshold", + "Frameskip Threshold (%)", + "When 'Frameskip' is set to 'Auto (Threshold)', specifies the audio buffer occupancy threshold (percentage) below which frames will be skipped. Higher values reduce the risk of crackling by causing frames to be dropped more frequently.", + { + { "15", NULL }, + { "18", NULL }, + { "21", NULL }, + { "24", NULL }, + { "27", NULL }, + { "30", NULL }, + { "33", NULL }, + { "36", NULL }, + { "39", NULL }, + { "42", NULL }, + { "45", NULL }, + { "48", NULL }, + { "51", NULL }, + { "54", NULL }, + { "57", NULL }, + { "60", NULL }, + { NULL, NULL }, + }, + "33" + }, + { + "pcsx_rearmed_frameskip", + "Frameskip Interval", + "Specifies the maximum number of frames that can be skipped before a new frame is rendered.", { - { "0", NULL }, - { "1", NULL }, - { "2", NULL }, - { "3", NULL }, + { "1", NULL }, + { "2", NULL }, + { "3", NULL }, + { "4", NULL }, + { "5", NULL }, + { "6", NULL }, + { "7", NULL }, + { "8", NULL }, + { "9", NULL }, + { "10", NULL }, { NULL, NULL }, }, - "0", + "1" }, { "pcsx_rearmed_bios", @@@ -876,11 -920,7 +920,11 @@@ { "enabled", NULL }, { NULL, NULL }, }, +#ifdef HAVE_PRE_ARMV7 + "disabled", +#else "enabled", +#endif }, { "pcsx_rearmed_spu_interpolation", @@@ -893,11 -933,7 +937,11 @@@ { "off", "disabled" }, { NULL, NULL }, }, +#ifdef HAVE_PRE_ARMV7 + "off", +#else "simple", +#endif }, { "pcsx_rearmed_pe2_fix",