Browse Source

[input_common/mouse, sdl_driver] increase latency of mouse and SDL_vibration threads to 4 "evals" per sec

pull/2982/head
lizzie 4 months ago
parent
commit
09b6a14394
  1. 22
      src/input_common/drivers/mouse.cpp
  2. 2
      src/input_common/drivers/mouse.h
  3. 2
      src/input_common/drivers/sdl_driver.cpp

22
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() {

2
src/input_common/drivers/mouse.h

@ -95,10 +95,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;

2
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
}
});
}

Loading…
Cancel
Save