diff --git a/Changes.txt b/Changes.txt
index 557157f25..616ec22f7 100644
--- a/Changes.txt
+++ b/Changes.txt
@@ -37,6 +37,8 @@
* Added separate positioning of launcher, emulator and debugger
+ * Added optional display to game refresh rate adaption in fullscreen mode
+
* Added option which lets default ROM path follow launcher navigation
* Added debugger 'saveaccess' function, which saves memory access counts to
diff --git a/docs/graphics/options_video.png b/docs/graphics/options_video.png
index deb857ca4..58654148a 100644
Binary files a/docs/graphics/options_video.png and b/docs/graphics/options_video.png differ
diff --git a/docs/index.html b/docs/index.html
index 3bf9ee26a..85ddf5b74 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -2218,6 +2218,12 @@
aspect ratio.
+
+ -tia.fs_refresh <1|0> |
+ While in fullscreen mode, adapt the display's refresh rate to the game's frame rate
+ to minimize judder. |
+
+
-tia.fs_overscan <0 - 10> |
Add overscan to TIA image while in fullscreen mode |
@@ -2943,13 +2949,14 @@
Item | Brief description | For more information, see CommandLine |
Renderer | Use specified rendering mode | -video |
- Interpolation | Interpolation of TIA image | -tia.inter |
- Zoom | Zoom level of TIA image | -tia.zoom |
+ Interpolation | Enable interpolation of the TIA image | -tia.inter |
+ Zoom | Zoom level of the TIA image | -tia.zoom |
Fullscreen | Self-explanatory - Note that colors may slightly change.
This depends on the OS and renderer used. | -fullscreen |
- Stretch | In fullscreen mode, completely fill screen with TIA image | -tia.fs_stretch |
+ Stretch | In fullscreen mode, completely fill screen with the TIA image. | -tia.fs_stretch |
+ Adapt display... | In fullscreen mode, adapt the display's refresh rate to the game's frame rate to minimize judder. | -tia.fs_refresh |
Overscan | In fullscreen mode, add overscan to the TIA image | -tia.fs_overscan |
- V-Size adjust | Adjust height of TIA image | -tia.vsizeadjust |
+ V-Size adjust | Adjust height of the TIA image | -tia.vsizeadjust |
diff --git a/src/common/FrameBufferSDL2.cxx b/src/common/FrameBufferSDL2.cxx
index 9bb0dae57..612000943 100644
--- a/src/common/FrameBufferSDL2.cxx
+++ b/src/common/FrameBufferSDL2.cxx
@@ -393,7 +393,6 @@ bool FrameBufferSDL2::adaptRefreshRate(Int32 displayIndex, SDL_DisplayMode& adap
Logger::error("ERROR: Closest display mode could not be retrieved");
return adapt;
}
- factor = float(closestSdlMode.refresh_rate) / sdlMode.refresh_rate;
factor = std::min(float(sdlMode.refresh_rate) / sdlMode.refresh_rate,
float(sdlMode.refresh_rate) / (sdlMode.refresh_rate - 1));
const float diff = std::abs(factor - std::round(factor)) / factor;
@@ -404,12 +403,12 @@ bool FrameBufferSDL2::adaptRefreshRate(Int32 displayIndex, SDL_DisplayMode& adap
adapt = true;
}
}
- cerr << "refresh rate adapt ";
- if(adapt)
- cerr << "required (" << currentRefreshRate << " Hz -> " << adaptedSdlMode.refresh_rate << " Hz)";
- else
- cerr << "not required/possible";
- cerr << endl;
+ //cerr << "refresh rate adapt ";
+ //if(adapt)
+ // cerr << "required (" << currentRefreshRate << " Hz -> " << adaptedSdlMode.refresh_rate << " Hz)";
+ //else
+ // cerr << "not required/possible";
+ //cerr << endl;
// Only change if the display supports a better refresh rate
return adapt;
@@ -506,7 +505,7 @@ bool FrameBufferSDL2::createRenderer(bool force)
if(recreate)
{
- cerr << "Create new renderer for buffer type #" << int(myBufferType) << endl;
+ //cerr << "Create new renderer for buffer type #" << int(myBufferType) << endl;
if(myRenderer)
SDL_DestroyRenderer(myRenderer);
diff --git a/src/emucore/Settings.cxx b/src/emucore/Settings.cxx
index dca79717d..790c784bb 100644
--- a/src/emucore/Settings.cxx
+++ b/src/emucore/Settings.cxx
@@ -442,7 +442,7 @@ void Settings::usage() const
<< " -tia.inter <1|0> Enable interpolated (smooth) scaling for TIA\n"
<< " image\n"
<< " -tia.fs_stretch <1|0> Stretch TIA image to fill fullscreen mode\n"
- << " -tia.fs_refresh <1|0> Try to adapt display refresh rate to game\n"
+ << " -tia.fs_refresh <1|0> Try to adapt display refresh rate to game's FPS\n"
<< " -tia.fs_overscan <0-10> Add overscan to TIA image in fullscreen mode\n"
<< " -tia.dbgcolors Debug colors to use for each object (see manual\n"
<< " for description)\n"