From cd89668d0c4fabeafe5b65223e58d652b6542519 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Sun, 27 Oct 2024 15:07:24 +0100 Subject: Reduce cpu usage when ui is not visible --- include/Overlay.hpp | 3 ++- src/Overlay.cpp | 10 ++++++---- src/main.cpp | 4 +++- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/include/Overlay.hpp b/include/Overlay.hpp index c580a12..218dee7 100644 --- a/include/Overlay.hpp +++ b/include/Overlay.hpp @@ -39,7 +39,8 @@ namespace gsr { void handle_events(); void on_event(mgl::Event &event); - void draw(); + // Returns false if not visible + bool draw(); void show(); void hide(); diff --git a/src/Overlay.cpp b/src/Overlay.cpp index ed5c3a7..f8148bf 100644 --- a/src/Overlay.cpp +++ b/src/Overlay.cpp @@ -279,20 +279,20 @@ namespace gsr { process_key_bindings(event); } - void Overlay::draw() { + bool Overlay::draw() { update_notification_process_status(); update_gsr_process_status(); if(!visible) - return; + return false; if(page_stack.empty()) { hide(); - return; + return false; } if(!window) - return; + return false; window->clear(); @@ -312,6 +312,8 @@ namespace gsr { page_stack.draw(*window, mgl::vec2f(0.0f, 0.0f)); window->display(); + + return true; } void Overlay::show() { diff --git a/src/main.cpp b/src/main.cpp index 3d367fa..0cc8076 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -7,6 +7,7 @@ #include #include +#include #include #include @@ -160,7 +161,8 @@ int main(int argc, char **argv) { global_hotkeys.poll_events(); overlay->handle_events(); - overlay->draw(); + if(!overlay->draw()) + std::this_thread::sleep_for(std::chrono::milliseconds(50)); } fprintf(stderr, "info: shutting down!\n"); -- cgit v1.2.3