diff options
| author | lizzie <lizzie@eden-emu.dev> | 2025-12-04 07:26:20 +0100 |
|---|---|---|
| committer | crueter <crueter@eden-emu.dev> | 2025-12-04 07:26:20 +0100 |
| commit | 0eed5100f9ce352d31cdcecd6a000f4f857c2714 (patch) | |
| tree | 531d93cbbbd4197c8720ee371d07028b6ffbbb36 /src | |
| parent | 8d3b33c3aacd48903f63de558a3d314794ecfab1 (diff) | |
[input_common/mouse, sdl_driver] increase latency of mouse and SDL_vibration threads to 4 "evals" per sec (#2982)
No need to have those nano-sleeps for these threads...
Signed-off-by: lizzie lizzie@eden-emu.dev
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2982
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Reviewed-by: crueter <crueter@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
Diffstat (limited to 'src')
| -rw-r--r-- | src/input_common/drivers/mouse.cpp | 22 | ||||
| -rw-r--r-- | src/input_common/drivers/mouse.h | 5 | ||||
| -rw-r--r-- | src/input_common/drivers/sdl_driver.cpp | 2 |
3 files changed, 13 insertions, 16 deletions
diff --git a/src/input_common/drivers/mouse.cpp b/src/input_common/drivers/mouse.cpp index 0949e1e2ad..424e716850 100644 --- a/src/input_common/drivers/mouse.cpp +++ b/src/input_common/drivers/mouse.cpp @@ -14,7 +14,7 @@ #include "input_common/drivers/mouse.h" namespace InputCommon { -constexpr int update_time = 10; +constexpr int update_time = 250; // 4 TPS constexpr float default_panning_sensitivity = 0.0010f; constexpr float default_stick_sensitivity = 0.0006f; constexpr float default_deadzone_counterweight = 0.01f; @@ -73,18 +73,14 @@ Mouse::Mouse(std::string input_engine_) : InputEngine(std::move(input_engine_)) last_mouse_change = {}; last_motion_change = {}; - update_thread = std::jthread([this](std::stop_token stop_token) { UpdateThread(stop_token); }); -} - -void Mouse::UpdateThread(std::stop_token stop_token) { - Common::SetCurrentThreadName("Mouse"); - - while (!stop_token.stop_requested()) { - UpdateStickInput(); - UpdateMotionInput(); - - std::this_thread::sleep_for(std::chrono::milliseconds(update_time)); - } + update_thread = std::jthread([this](std::stop_token stop_token) { + Common::SetCurrentThreadName("Mouse"); + while (!stop_token.stop_requested()) { + UpdateStickInput(); + UpdateMotionInput(); + std::this_thread::sleep_for(std::chrono::milliseconds(update_time)); + } + }); } void Mouse::UpdateStickInput() { diff --git a/src/input_common/drivers/mouse.h b/src/input_common/drivers/mouse.h index 124b6f3bd5..2e5e989067 100644 --- a/src/input_common/drivers/mouse.h +++ b/src/input_common/drivers/mouse.h @@ -1,3 +1,6 @@ +// SPDX-FileCopyrightText: Copyright 2025 Eden Emulator Project +// SPDX-License-Identifier: GPL-3.0-or-later + // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project // SPDX-License-Identifier: GPL-2.0-or-later @@ -95,10 +98,8 @@ public: Common::Input::ButtonNames GetUIName(const Common::ParamPackage& params) const override; private: - void UpdateThread(std::stop_token stop_token); void UpdateStickInput(); void UpdateMotionInput(); - bool IsMousePanningEnabled(); Common::Input::ButtonNames GetUIButtonName(const Common::ParamPackage& params) const; diff --git a/src/input_common/drivers/sdl_driver.cpp b/src/input_common/drivers/sdl_driver.cpp index 972abec9fe..b527668052 100644 --- a/src/input_common/drivers/sdl_driver.cpp +++ b/src/input_common/drivers/sdl_driver.cpp @@ -548,7 +548,7 @@ SDLDriver::SDLDriver(std::string input_engine_) : InputEngine(std::move(input_en using namespace std::chrono_literals; while (initialized) { SendVibrations(); - std::this_thread::sleep_for(10ms); + std::this_thread::sleep_for(250ms); // 4 TPS } }); } |
