From c4c14f1840610a429372d79cae4cf02f9949854c Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Thu, 21 May 2020 17:58:46 +0100 Subject: [PATCH] ecore - expose "hidden" internal api for debugging to get wakeup time get the real time at which main loop woke up for purposes of debugging and finding jank/scheduling jitter. --- src/lib/ecore/Ecore.h | 2 ++ src/lib/ecore/ecore_main.c | 8 ++++++++ 2 files changed, 10 insertions(+) diff --git a/src/lib/ecore/Ecore.h b/src/lib/ecore/Ecore.h index 6644b88..98bf4da 100644 --- a/src/lib/ecore/Ecore.h +++ b/src/lib/ecore/Ecore.h @@ -331,6 +331,8 @@ extern "C" { #endif #include "Ecore_Eo.h" +EAPI double _ecore_main_loop_wakeup_time_get(void); + #ifdef __cplusplus } #endif diff --git a/src/lib/ecore/ecore_main.c b/src/lib/ecore/ecore_main.c index 544343d..7cacca1 100644 --- a/src/lib/ecore/ecore_main.c +++ b/src/lib/ecore/ecore_main.c @@ -215,12 +215,20 @@ static gboolean _ecore_glib_idle_enterer_called; static gboolean ecore_fds_ready; #endif +static double _ecore_main_loop_wakeup_time = 0.0; + +EAPI double _ecore_main_loop_wakeup_time_get(void) +{ + return _ecore_main_loop_wakeup_time; +} + static inline void _update_loop_time(Efl_Loop_Data *pd) { double loop_time = ecore_time_get(); if (loop_time > pd->loop_time) pd->loop_time = loop_time; + _ecore_main_loop_wakeup_time = loop_time; } #ifdef EFL_EXTRA_SANITY_CHECKS -- 2.7.4