diff options
Diffstat (limited to 'src/video_core/renderer_vulkan/vk_scheduler.h')
| -rw-r--r-- | src/video_core/renderer_vulkan/vk_scheduler.h | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/video_core/renderer_vulkan/vk_scheduler.h b/src/video_core/renderer_vulkan/vk_scheduler.h index b810862f73..c2aa3fb996 100644 --- a/src/video_core/renderer_vulkan/vk_scheduler.h +++ b/src/video_core/renderer_vulkan/vk_scheduler.h @@ -146,9 +146,10 @@ public: frame_counter++; auto target_time = start_time + frame_interval * frame_counter; if (target_time >= now) { + constexpr auto spin_tail = std::chrono::milliseconds(1); auto sleep_time = target_time - now; - if (sleep_time > std::chrono::milliseconds(15)) { - std::this_thread::sleep_for(sleep_time - std::chrono::milliseconds(1)); + if (sleep_time > spin_tail * 2) { + std::this_thread::sleep_for(sleep_time - spin_tail); } while (std::chrono::steady_clock::now() < target_time) { std::this_thread::yield(); |
