diff options
| author | Sonic Dreamcaster <alejandro.asenjo88@gmail.com> | 2025-03-29 16:20:19 -0300 |
|---|---|---|
| committer | Sonic Dreamcaster <alejandro.asenjo88@gmail.com> | 2025-03-29 16:20:19 -0300 |
| commit | b23ad8adf08efb2e49c71dc63657513152c41029 (patch) | |
| tree | 63943e7797fdd3ef26b9dc0652f6ebd419606258 /src/port/Engine.cpp | |
| parent | a53538370384416b6692be5c8c1d64b655114240 (diff) | |
revert whatever happened here
Diffstat (limited to 'src/port/Engine.cpp')
| -rw-r--r-- | src/port/Engine.cpp | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/src/port/Engine.cpp b/src/port/Engine.cpp index f85e2729..e0307752 100644 --- a/src/port/Engine.cpp +++ b/src/port/Engine.cpp @@ -480,7 +480,7 @@ void GameEngine::ProcessGfxCommands(Gfx* commands) { wnd->SetRendererUCode(UcodeHandlers::ucode_f3dex); std::vector<std::unordered_map<Mtx*, MtxF>> mtx_replacements; - int target_fps = GameEngine::Instance->GetInterpolationFPS(); + int target_fps = CVarGetInteger("gInterpolationFPS", 60); static int last_fps; static int last_update_rate; static int time; @@ -509,8 +509,11 @@ void GameEngine::ProcessGfxCommands(Gfx* commands) { time -= fps; + int threshold = CVarGetInteger("gExtraLatencyThreshold", 80); + if (wnd != nullptr) { wnd->SetTargetFps(fps); + wnd->SetMaximumFrameLatency(threshold > 0 && target_fps >= threshold ? 2 : 1); } // When the gfx debugger is active, only run with the final mtx @@ -526,16 +529,16 @@ void GameEngine::ProcessGfxCommands(Gfx* commands) { } uint32_t GameEngine::GetInterpolationFPS() { + if (Ship::Context::GetInstance()->GetWindow()->GetWindowBackend() == Ship::WindowBackend::FAST3D_DXGI_DX11) { + return CVarGetInteger("gInterpolationFPS", 60); + } + if (CVarGetInteger("gMatchRefreshRate", 0)) { return Ship::Context::GetInstance()->GetWindow()->GetCurrentRefreshRate(); - - } else if (CVarGetInteger("gVsyncEnabled", 1) || - !Ship::Context::GetInstance()->GetWindow()->CanDisableVerticalSync()) { - return std::min<uint32_t>(Ship::Context::GetInstance()->GetWindow()->GetCurrentRefreshRate(), - CVarGetInteger("gInterpolationFPS", 60)); } - return CVarGetInteger("gInterpolationFPS", 60); + return std::min<uint32_t>(Ship::Context::GetInstance()->GetWindow()->GetCurrentRefreshRate(), + CVarGetInteger("gInterpolationFPS", 60)); } uint32_t GameEngine::GetInterpolationFrameCount() |
