diff --git a/docs/configuration.md b/docs/configuration.md
index ef2486436d1..36237f0d737 100644
--- a/docs/configuration.md
+++ b/docs/configuration.md
@@ -1363,35 +1363,6 @@ editing the `conf` file in a text editor. Use the examples as reference.
-### min_fps_factor
-
-
-
-
Description
-
- Sunshine will use this factor to calculate the minimum time between frames. Increasing this value may help
- when streaming mostly static content.
- @warning{Higher values will consume more bandwidth.}
-
-
-
-
Default
-
@code{}
- 1
- @endcode
-
-
-
Range
-
1-3
-
-
-
Example
-
@code{}
- min_fps_factor = 1
- @endcode
-
-
-
## Network
### upnp
diff --git a/src/config.cpp b/src/config.cpp
index 7147fd6cfdb..89a5a44548c 100644
--- a/src/config.cpp
+++ b/src/config.cpp
@@ -504,7 +504,6 @@ namespace config {
{} // wa
}, // display_device
- 1, // min_fps_factor
0 // max_bitrate
};
@@ -1143,7 +1142,6 @@ namespace config {
video.dd.wa.hdr_toggle_delay = std::chrono::milliseconds {value};
}
- int_between_f(vars, "min_fps_factor", video.min_fps_factor, {1, 3});
int_f(vars, "max_bitrate", video.max_bitrate);
path_f(vars, "pkey", nvhttp.pkey);
diff --git a/src/config.h b/src/config.h
index 066b95df182..2e088ea757e 100644
--- a/src/config.h
+++ b/src/config.h
@@ -140,7 +140,6 @@ namespace config {
workarounds_t wa;
} dd;
- int min_fps_factor; // Minimum fps target, determines minimum frame time
int max_bitrate; // Maximum bitrate, sets ceiling in kbps for bitrate requested from client
};
diff --git a/src/video.cpp b/src/video.cpp
index 0ff4d74012a..b4e3c147783 100644
--- a/src/video.cpp
+++ b/src/video.cpp
@@ -1875,9 +1875,9 @@ namespace video {
}
});
- // set minimum frame time, avoiding violation of client-requested target framerate
- auto minimum_frame_time = std::chrono::milliseconds(1000 / std::min(config.framerate, (config::video.min_fps_factor * 10)));
- BOOST_LOG(debug) << "Minimum frame time set to "sv << minimum_frame_time.count() << "ms, based on min fps factor of "sv << config::video.min_fps_factor << "."sv;
+ // set minimum frame time based on client-requested target framerate
+ std::chrono::duration minimum_frame_time {1000.0 / config.framerate};
+ BOOST_LOG(info) << "Minimum frame time set to "sv << minimum_frame_time.count() << "ms, based on client-requested target framerate "sv << config.framerate << "."sv;
auto shutdown_event = mail->event(mail::shutdown);
auto packets = mail::man->queue(mail::video_packets);
diff --git a/src_assets/common/assets/web/config.html b/src_assets/common/assets/web/config.html
index f021fd71aab..6e766e93c86 100644
--- a/src_assets/common/assets/web/config.html
+++ b/src_assets/common/assets/web/config.html
@@ -178,7 +178,6 @@
diff --git a/src_assets/common/assets/web/public/assets/locale/en.json b/src_assets/common/assets/web/public/assets/locale/en.json
index 6d623d36457..89405a7e4dd 100644
--- a/src_assets/common/assets/web/public/assets/locale/en.json
+++ b/src_assets/common/assets/web/public/assets/locale/en.json
@@ -256,8 +256,6 @@
"log_path_desc": "The file where the current logs of Sunshine are stored.",
"max_bitrate": "Maximum Bitrate",
"max_bitrate_desc": "The maximum bitrate (in Kbps) that Sunshine will encode the stream at. If set to 0, it will always use the bitrate requested by Moonlight.",
- "min_fps_factor": "Minimum FPS Factor",
- "min_fps_factor_desc": "Sunshine will use this factor to calculate the minimum time between frames. Increasing this value slightly may help when streaming mostly static content. Higher values will consume more bandwidth.",
"min_threads": "Minimum CPU Thread Count",
"min_threads_desc": "Increasing the value slightly reduces encoding efficiency, but the tradeoff is usually worth it to gain the use of more CPU cores for encoding. The ideal value is the lowest value that can reliably encode at your desired streaming settings on your hardware.",
"misc": "Miscellaneous options",