ecore_evas: change ECORE_EVAS_RENDER_SYNC to NOSYNC and non-default
authorDerek Foreman <derekf@osg.samsung.com>
Thu, 24 Mar 2016 16:15:57 +0000 (12:15 -0400)
committerMike Blumenkrantz <zmike@osg.samsung.com>
Thu, 24 Mar 2016 16:15:57 +0000 (12:15 -0400)
Summary:
commit f9e655046868cb83cbc9ac2dcd139e3540e89285 Changed the RENDER_SYNC
the default behaviour (previously it was something you had to
change source code to set that way)

This leads to massive amounts of tearing with the drm and gl_drm backends,
as they no longer wait for vblank before rendering.

I've changed the env var to ECORE_EVAS_RENDER_NOSYNC and made it
non-default as it used to be.  People can set the env var to disable
frame limiting instead of having to set an env var to enable it.

Frame limiting really should be the default behaviour.

Reviewers: zmike, devilhorns

Reviewed By: devilhorns

Subscribers: cedric, jpeg

Differential Revision: https://phab.enlightenment.org/D3829

src/lib/ecore_evas/ecore_evas.c

index 2ab7371..a4692ac 100644 (file)
@@ -49,7 +49,7 @@ static Ecore_Evas *ecore_evases = NULL;
 static int _ecore_evas_fps_debug = 0;
 
 //RENDER_SYNC
-static int _ecore_evas_render_sync = 0;
+static int _ecore_evas_render_sync = 1;
 static Ecore_Animator *ecore_evas_animator = NULL;
 static Eina_Bool ecore_evas_animator_ticked = EINA_FALSE;
 static Eina_Bool ecore_evas_first = EINA_TRUE;
@@ -391,7 +391,7 @@ ecore_evas_init(void)
    ecore_evas_idle_enterer =
      ecore_idle_enterer_add(_ecore_evas_idle_enter, NULL);
    if (getenv("ECORE_EVAS_FPS_DEBUG")) _ecore_evas_fps_debug = 1;
-   if (getenv("ECORE_EVAS_RENDER_SYNC")) _ecore_evas_render_sync = 1;
+   if (getenv("ECORE_EVAS_RENDER_NOSYNC")) _ecore_evas_render_sync = 0;
    if (_ecore_evas_fps_debug) _ecore_evas_fps_debug_init();
 
 #ifdef BUILD_ECORE_EVAS_EWS