diff options
| author | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-05-28 17:40:57 +0200 |
|---|---|---|
| committer | vaxerski <43317083+vaxerski@users.noreply.github.com> | 2022-05-28 17:40:57 +0200 |
| commit | 7d442d48514e62a41e5bad0176adb8428dd112b3 (patch) | |
| tree | 6e327af07b01a1e089e5d495bb697d4c4578a1da /src/events/Monitors.cpp | |
| parent | 8c10857f14e6c91f3b3099b9508e1f4d68c2d276 (diff) | |
Added rendertime no overlay
Diffstat (limited to 'src/events/Monitors.cpp')
| -rw-r--r-- | src/events/Monitors.cpp | 19 |
1 files changed, 16 insertions, 3 deletions
diff --git a/src/events/Monitors.cpp b/src/events/Monitors.cpp index c8f330d7..0ef780d9 100644 --- a/src/events/Monitors.cpp +++ b/src/events/Monitors.cpp @@ -132,6 +132,8 @@ void Events::listener_monitorFrame(void* owner, void* data) { SMonitor* const PMONITOR = (SMonitor*)owner; static std::chrono::high_resolution_clock::time_point startRender = std::chrono::high_resolution_clock::now(); + static std::chrono::high_resolution_clock::time_point startRenderOverlay = std::chrono::high_resolution_clock::now(); + static std::chrono::high_resolution_clock::time_point endRenderOverlay = std::chrono::high_resolution_clock::now(); if (g_pConfigManager->getInt("debug:overlay") == 1) { startRender = std::chrono::high_resolution_clock::now(); @@ -225,8 +227,11 @@ void Events::listener_monitorFrame(void* owner, void* data) { g_pHyprError->draw(); // for drawing the debug overlay - if (PMONITOR->ID == 0 && g_pConfigManager->getInt("debug:overlay") == 1) + if (PMONITOR->ID == 0 && g_pConfigManager->getInt("debug:overlay") == 1) { + startRenderOverlay = std::chrono::high_resolution_clock::now(); g_pDebugOverlay->draw(); + endRenderOverlay = std::chrono::high_resolution_clock::now(); + } wlr_renderer_begin(g_pCompositor->m_sWLRRenderer, PMONITOR->vecPixelSize.x, PMONITOR->vecPixelSize.y); @@ -254,8 +259,16 @@ void Events::listener_monitorFrame(void* owner, void* data) { wlr_output_schedule_frame(PMONITOR->output); - if (g_pConfigManager->getInt("debug:overlay") == 1) - g_pDebugOverlay->renderData(PMONITOR, std::chrono::duration_cast<std::chrono::nanoseconds>(std::chrono::high_resolution_clock::now() - startRender).count() / 1000.f); + if (g_pConfigManager->getInt("debug:overlay") == 1) { + const float µs = std::chrono::duration_cast<std::chrono::nanoseconds>(std::chrono::high_resolution_clock::now() - startRender).count() / 1000.f; + g_pDebugOverlay->renderData(PMONITOR, µs); + if (PMONITOR->ID == 0) { + const float µsNoOverlay = µs - std::chrono::duration_cast<std::chrono::nanoseconds>(endRenderOverlay - startRenderOverlay).count() / 1000.f; + g_pDebugOverlay->renderDataNoOverlay(PMONITOR, µsNoOverlay); + } else { + g_pDebugOverlay->renderDataNoOverlay(PMONITOR, µs); + } + } } void Events::listener_monitorDestroy(void* owner, void* data) { |
