Android: Add vsync setting

Recently we have been getting some requests to make the existing vsync
setting available in the Android GUI:

https://bugs.dolphin-emu.org/issues/13650
https://forums.dolphin-emu.org/Thread-vsync-toggle-for-android

I don't quite understand why enabling the vsync setting is helpful when
Android already enforces vsync, but I guess having the option available
doesn't hurt. I'm putting the setting under Advanced, unlike in
DolphinQt, since there's no clear reason why the typical user would want
to use this setting.
This commit is contained in:
JosJuice 2024-10-14 12:18:52 +02:00
parent 8d5b6e8e86
commit 564e640acf
4 changed files with 12 additions and 0 deletions

View File

@ -651,6 +651,7 @@ enum class BooleanSetting(
SYSCONF_PROGRESSIVE_SCAN(Settings.FILE_SYSCONF, "IPL", "PGS", true), SYSCONF_PROGRESSIVE_SCAN(Settings.FILE_SYSCONF, "IPL", "PGS", true),
SYSCONF_PAL60(Settings.FILE_SYSCONF, "IPL", "E60", true), SYSCONF_PAL60(Settings.FILE_SYSCONF, "IPL", "E60", true),
SYSCONF_WIIMOTE_MOTOR(Settings.FILE_SYSCONF, "BT", "MOT", true), SYSCONF_WIIMOTE_MOTOR(Settings.FILE_SYSCONF, "BT", "MOT", true),
GFX_VSYNC(Settings.FILE_GFX, Settings.SECTION_GFX_HARDWARE, "VSync", false),
GFX_WIDESCREEN_HACK(Settings.FILE_GFX, Settings.SECTION_GFX_SETTINGS, "wideScreenHack", false), GFX_WIDESCREEN_HACK(Settings.FILE_GFX, Settings.SECTION_GFX_SETTINGS, "wideScreenHack", false),
GFX_CROP(Settings.FILE_GFX, Settings.SECTION_GFX_SETTINGS, "Crop", false), GFX_CROP(Settings.FILE_GFX, Settings.SECTION_GFX_SETTINGS, "Crop", false),
GFX_SHOW_FPS(Settings.FILE_GFX, Settings.SECTION_GFX_SETTINGS, "ShowFPS", false), GFX_SHOW_FPS(Settings.FILE_GFX, Settings.SECTION_GFX_SETTINGS, "ShowFPS", false),

View File

@ -124,6 +124,7 @@ class Settings : Closeable {
const val SECTION_INI_DSP = "DSP" const val SECTION_INI_DSP = "DSP"
const val SECTION_LOGGER_LOGS = "Logs" const val SECTION_LOGGER_LOGS = "Logs"
const val SECTION_LOGGER_OPTIONS = "Options" const val SECTION_LOGGER_OPTIONS = "Options"
const val SECTION_GFX_HARDWARE = "Settings"
const val SECTION_GFX_SETTINGS = "Settings" const val SECTION_GFX_SETTINGS = "Settings"
const val SECTION_GFX_ENHANCEMENTS = "Enhancements" const val SECTION_GFX_ENHANCEMENTS = "Enhancements"
const val SECTION_GFX_COLOR_CORRECTION = "ColorCorrection" const val SECTION_GFX_COLOR_CORRECTION = "ColorCorrection"

View File

@ -1795,6 +1795,14 @@ class SettingsFragmentPresenter(
0 0
) )
) )
sl.add(
SwitchSetting(
context,
BooleanSetting.GFX_VSYNC,
R.string.vsync,
R.string.vsync_description
)
)
sl.add( sl.add(
SwitchSetting( SwitchSetting(
context, context,

View File

@ -332,6 +332,8 @@
<string name="crop">Crop</string> <string name="crop">Crop</string>
<string name="crop_description">Crops the picture from its native aspect ratio to 4:3 or 16:9. If unsure, leave this unchecked.</string> <string name="crop_description">Crops the picture from its native aspect ratio to 4:3 or 16:9. If unsure, leave this unchecked.</string>
<string name="progressive_scan">Enable Progressive Scan</string> <string name="progressive_scan">Enable Progressive Scan</string>
<string name="vsync">V-Sync</string>
<string name="vsync_description">This setting is unnecessary on most Android devices, because Android always enables V-Sync. If unsure, leave this unchecked.</string>
<string name="backend_multithreading">Backend Multithreading</string> <string name="backend_multithreading">Backend Multithreading</string>
<string name="backend_multithreading_description">Enables graphics backend multithreading (Vulkan only). May affect performance. If unsure, leave this checked.</string> <string name="backend_multithreading_description">Enables graphics backend multithreading (Vulkan only). May affect performance. If unsure, leave this checked.</string>
<string name="prefer_vs_for_point_line_expansion">Prefer VS for Point/Line Expansion</string> <string name="prefer_vs_for_point_line_expansion">Prefer VS for Point/Line Expansion</string>