From c603f25139978515796d394bc5416dc6ae465c62 Mon Sep 17 00:00:00 2001 From: "Carsten Haitzler (Rasterman)" Date: Mon, 5 Oct 2015 18:33:03 +0900 Subject: [PATCH] evas software x11 - increase shm buffer size for modern displays have a bigger shm buffer for larger displays to recycle shm memory more for sw rendering @feature --- src/modules/evas/engines/software_x11/evas_xlib_outbuf.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/modules/evas/engines/software_x11/evas_xlib_outbuf.c b/src/modules/evas/engines/software_x11/evas_xlib_outbuf.c index a6ba9c3..d556595 100644 --- a/src/modules/evas/engines/software_x11/evas_xlib_outbuf.c +++ b/src/modules/evas/engines/software_x11/evas_xlib_outbuf.c @@ -28,8 +28,8 @@ struct _Outbuf_Region static Eina_List *shmpool = NULL; static int shmsize = 0; -static int shmmemlimit = 10 * 1024 * 1024; -static const unsigned int shmcountlimit = 32; +static int shmmemlimit = 20 * 1024 * 1024; +static const unsigned int shmcountlimit = 128; static Eina_Spinlock shmpool_lock; #define SHMPOOL_LOCK() eina_spinlock_take(&shmpool_lock) @@ -78,7 +78,10 @@ _find_xob(Display *d, Visual *v, int depth, int w, int h, int shm, void *data) xl = l; } } - if ((fitness > (100 * 100)) || (!xob)) + if ( + (fitness > (400 * 400)) || + (!xob) + ) { SHMPOOL_UNLOCK(); xob = evas_software_xlib_x_output_buffer_new(d, v, depth, w, h, shm, data); -- 2.7.4