diff options
| author | Nicolas James <nj3ahxac@gmail.com> | 2026-04-08 14:04:03 +1000 |
|---|---|---|
| committer | Nicolas James <nj3ahxac@gmail.com> | 2026-04-08 14:04:03 +1000 |
| commit | 5566c5dff4d6430f704aeb66ca45615cb0df0176 (patch) | |
| tree | 523e784bd31d2908b5a7d3c13fdcf46b4ed3a4ab /src/strategies/anti_lag/device_strategy.hh | |
| parent | a67570bc468664627da48b4ebe22c7caad217732 (diff) | |
Reduce thread contention by introducing an atomic time point class - greatly reduces locking
Diffstat (limited to 'src/strategies/anti_lag/device_strategy.hh')
| -rw-r--r-- | src/strategies/anti_lag/device_strategy.hh | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/strategies/anti_lag/device_strategy.hh b/src/strategies/anti_lag/device_strategy.hh index 3533647..9ff1212 100644 --- a/src/strategies/anti_lag/device_strategy.hh +++ b/src/strategies/anti_lag/device_strategy.hh @@ -1,6 +1,7 @@ #ifndef STRATEGIES_ANTI_LAG_DEVICE_STRATEGY_HH_ #define STRATEGIES_ANTI_LAG_DEVICE_STRATEGY_HH_ +#include "atomic_time_point.hh" #include "strategies/device_strategy.hh" #include <vulkan/vulkan.h> @@ -18,10 +19,11 @@ class AntiLagDeviceStrategy final : public DeviceStrategy { std::shared_mutex mutex{}; // If this is nullopt don't track the submission. std::optional<std::uint64_t> frame_index{}; - std::optional<std::chrono::steady_clock::time_point> previous_input_release{}; - std::chrono::microseconds delay{}; + std::chrono::microseconds input_delay{}; bool is_enabled{}; + AtomicTimePoint previous_input_release; + public: AntiLagDeviceStrategy(DeviceContext& device); virtual ~AntiLagDeviceStrategy(); |
