From cef058c48b21c6effed8d6580876632b4344ec7f Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Fri, 14 Aug 2020 10:10:18 +0100 Subject: [PATCH] ecore x - go back to vsync thread. this will be more reliable while it requires an extra wakeup from vsync thread -> e and this adds a bit of jitter, it's mroe reliable in the face of "missed a frame" timings and doesnt degrade as badly. --- src/lib/ecore_x/ecore_x_vsync.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/ecore_x/ecore_x_vsync.c b/src/lib/ecore_x/ecore_x_vsync.c index c03e2768c4..9fa2f6df25 100644 --- a/src/lib/ecore_x/ecore_x_vsync.c +++ b/src/lib/ecore_x/ecore_x_vsync.c @@ -154,7 +154,7 @@ static Ecore_Thread *drm_thread = NULL; static Eina_Spinlock tick_queue_lock; static int tick_queue_count = 0; static Eina_Bool tick_skip = EINA_FALSE; -static Eina_Bool threaded_vsync = EINA_FALSE; +static Eina_Bool threaded_vsync = EINA_TRUE; static Ecore_Timer *fail_timer = NULL; static Ecore_Timer *fallback_timer = NULL; @@ -907,6 +907,7 @@ ecore_x_vsync_animator_tick_source_set(Ecore_X_Window win) struct stat st; if (getenv("ECORE_VSYNC_THREAD")) threaded_vsync = EINA_TRUE; + if (getenv("ECORE_VSYNC_NO_THREAD")) threaded_vsync = EINA_FALSE; home = eina_environment_home_get(); if (!home) eina_environment_tmp_get(); snprintf(buf, sizeof(buf), "%s/.ecore-no-vsync", home);