diff options
author | bunnei <bunneidev@gmail.com> | 2021-07-25 16:23:44 -0700 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-07-25 16:23:44 -0700 |
commit | c09557acd8a1880b0f19cc13d5fde46186363c3d (patch) | |
tree | 2e1ddda5bd411f69d90c8efd214910aec3ec9b06 /src/core | |
parent | 7e272d3cd81656b65b21f5a569fc9a2d76cac758 (diff) | |
parent | 2c6e274b3978ce4ee1af98e21f101e7037ec9d24 (diff) |
Merge pull request #6697 from ameerj/fps-cap
config, nvflinger: Add FPS cap setting
Diffstat (limited to 'src/core')
-rw-r--r-- | src/core/hle/service/nvflinger/nvflinger.cpp | 11 |
1 files changed, 6 insertions, 5 deletions
diff --git a/src/core/hle/service/nvflinger/nvflinger.cpp b/src/core/hle/service/nvflinger/nvflinger.cpp index 1d810562f..941748970 100644 --- a/src/core/hle/service/nvflinger/nvflinger.cpp +++ b/src/core/hle/service/nvflinger/nvflinger.cpp @@ -307,11 +307,12 @@ void NVFlinger::Compose() { } s64 NVFlinger::GetNextTicks() const { - if (Settings::values.disable_fps_limit.GetValue()) { - return 0; - } - constexpr s64 max_hertz = 120LL; - return (1000000000 * (1LL << swap_interval)) / max_hertz; + static constexpr s64 max_hertz = 120LL; + + const auto& settings = Settings::values; + const bool unlocked_fps = settings.disable_fps_limit.GetValue(); + const s64 fps_cap = unlocked_fps ? static_cast<s64>(settings.fps_cap.GetValue()) : 1; + return (1000000000 * (1LL << swap_interval)) / (max_hertz * fps_cap); } } // namespace Service::NVFlinger |