evas software x11 - increase shm buffer size for modern displays
authorCarsten Haitzler (Rasterman) <raster@rasterman.com>
Mon, 5 Oct 2015 09:33:03 +0000 (18:33 +0900)
committerCarsten Haitzler (Rasterman) <raster@rasterman.com>
Mon, 5 Oct 2015 09:33:03 +0000 (18:33 +0900)
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

index a6ba9c3..d556595 100644 (file)
@@ -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);