diff options
| author | Nicolas James <nj3ahxac@gmail.com> | 2026-04-08 00:56:40 +1000 |
|---|---|---|
| committer | Nicolas James <nj3ahxac@gmail.com> | 2026-04-08 00:56:40 +1000 |
| commit | eb9719cc8b9a308654ccd2c3bce8a7047b6e2a1a (patch) | |
| tree | 5e72b419d3dc900a35921be5e551b17552251769 /src/strategies/low_latency2/device_strategy.cc | |
| parent | 69764a869d99e9abd0fbe10c2773d3556d7f35e8 (diff) | |
Refactor storing submissions into FrameSpan class, reduce AntiLag thread contention
Diffstat (limited to 'src/strategies/low_latency2/device_strategy.cc')
| -rw-r--r-- | src/strategies/low_latency2/device_strategy.cc | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/src/strategies/low_latency2/device_strategy.cc b/src/strategies/low_latency2/device_strategy.cc index 32ff981..227c385 100644 --- a/src/strategies/low_latency2/device_strategy.cc +++ b/src/strategies/low_latency2/device_strategy.cc @@ -68,8 +68,8 @@ void LowLatency2DeviceStrategy::submit_swapchain_present_id( // Iterate through all queues and grab any work that's associated with this // present_id. Turn it into a vector of work that we give to our swapchain // monitor. - auto work = [&]() -> std::vector<std::deque<std::unique_ptr<Submission>>> { - auto work = std::vector<std::deque<std::unique_ptr<Submission>>>{}; + auto work = [&]() -> std::vector<std::unique_ptr<FrameSpan>> { + auto work = std::vector<std::unique_ptr<FrameSpan>>{}; const auto lock = std::scoped_lock{this->device.mutex}; for (const auto& queue_iter : this->device.queues) { const auto& queue = queue_iter.second; @@ -84,14 +84,14 @@ void LowLatency2DeviceStrategy::submit_swapchain_present_id( // Need the lock now - we're modifying it. const auto strategy_lock = std::unique_lock{strategy->mutex}; - const auto iter = strategy->present_id_submissions.find(present_id); - if (iter == std::end(strategy->present_id_submissions)) { + const auto iter = strategy->frame_spans.find(present_id); + if (iter == std::end(strategy->frame_spans)) { continue; } // Make sure we clean it up from the present as well. work.push_back(std::move(iter->second)); - strategy->present_id_submissions.erase(iter); + strategy->frame_spans.erase(iter); } return work; }(); |
