Enlightenment CVS committal

Author  : raster
Project : e17
Module  : apps/e

Dir     : e17/apps/e/src/bin


Modified Files:
        e_canvas.c e_config.c e_config.h e_ipc_handlers.h 
        e_ipc_handlers_list.h 


Log Message:


more cache controls and a flusher... :)

===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_canvas.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -3 -r1.8 -r1.9
--- e_canvas.c  3 Oct 2005 10:21:27 -0000       1.8
+++ e_canvas.c  24 Nov 2005 04:23:31 -0000      1.9
@@ -4,9 +4,11 @@
 #include "e.h"
 
 /* local subsystem functions */
+static int _e_canvas_cb_flush(void *data);
 
 /* local subsystem globals */
 static Evas_List *_e_canvases = NULL;
+static Ecore_Timer *_e_canvas_cache_flush_timer = NULL;
 
 /* externally accessible functions */
 void
@@ -66,6 +68,19 @@
        evas_image_cache_set(e, e_config->image_cache * 1024);
        evas_font_cache_set(e, e_config->font_cache * 1024);
      }
+   edje_file_cache_set(e_config->edje_cache);
+   edje_collection_cache_set(e_config->edje_cache);
+   if (_e_canvas_cache_flush_timer)
+     {
+       ecore_timer_del(_e_canvas_cache_flush_timer);
+       _e_canvas_cache_flush_timer = NULL;
+     }
+   if (e_config->cache_flush_interval > 0.0)
+     {
+       _e_canvas_cache_flush_timer = 
+         ecore_timer_add(e_config->cache_flush_interval, _e_canvas_cb_flush,
+                         NULL);
+     }
 }
 
 void
@@ -83,6 +98,8 @@
        evas_image_cache_flush(e);
        evas_font_cache_flush(e);
      }
+   edje_file_cache_flush();
+   edje_collection_cache_flush();
 }
 
 void
@@ -145,3 +162,12 @@
      }
    return ee;
 }
+
+/* local subsystem functions */
+static int
+_e_canvas_cb_flush(void *data)
+{
+   e_canvas_cache_flush();
+   return 1;
+}
+
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_config.c,v
retrieving revision 1.124
retrieving revision 1.125
diff -u -3 -r1.124 -r1.125
--- e_config.c  23 Nov 2005 12:55:55 -0000      1.124
+++ e_config.c  24 Nov 2005 04:23:31 -0000      1.125
@@ -263,6 +263,9 @@
    E_CONFIG_VAL(D, T, framerate, DOUBLE); /**/
    E_CONFIG_VAL(D, T, image_cache, INT); /**/
    E_CONFIG_VAL(D, T, font_cache, INT); /**/
+   E_CONFIG_VAL(D, T, edje_cache, INT); /**/
+   E_CONFIG_VAL(D, T, edje_collection_cache, INT); /**/
+   E_CONFIG_VAL(D, T, cache_flush_interval, DOUBLE); /**/
    E_CONFIG_VAL(D, T, zone_desks_x_count, INT); /**/
    E_CONFIG_VAL(D, T, zone_desks_y_count, INT); /**/
    E_CONFIG_VAL(D, T, use_virtual_roots, INT); /* should not make this a 
config option (for now) */
@@ -411,6 +414,9 @@
        e_config->framerate = 30.0;
        e_config->image_cache = 4096;
        e_config->font_cache = 512;
+       e_config->edje_cache = 32;
+       e_config->edje_collection_cache = 64;
+       e_config->cache_flush_interval = 60.0;
        e_config->zone_desks_x_count = 4;
        e_config->zone_desks_y_count = 1;
        e_config->use_virtual_roots = 0;
@@ -1395,6 +1401,9 @@
    E_CONFIG_LIMIT(e_config->framerate, 1.0, 200.0);
    E_CONFIG_LIMIT(e_config->image_cache, 0, 256 * 1024);
    E_CONFIG_LIMIT(e_config->font_cache, 0, 32 * 1024);
+   E_CONFIG_LIMIT(e_config->edje_cache, 0, 256);
+   E_CONFIG_LIMIT(e_config->edje_collection_cache, 0, 512);
+   E_CONFIG_LIMIT(e_config->cache_flush_interval, 0.0, 600.0);
    E_CONFIG_LIMIT(e_config->zone_desks_x_count, 1, 64);
    E_CONFIG_LIMIT(e_config->zone_desks_y_count, 1, 64);
    E_CONFIG_LIMIT(e_config->use_edge_flip, 0, 1);
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_config.h,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -3 -r1.66 -r1.67
--- e_config.h  22 Nov 2005 13:28:10 -0000      1.66
+++ e_config.h  24 Nov 2005 04:23:31 -0000      1.67
@@ -48,9 +48,10 @@
 
 /* increment this whenever we change config enough that you need new 
  * defaults for e to work - started at 100 when we introduced this config
- * versioning feature
+ * versioning feature. the value of this is really irrelevant - just as
+ * long as it increases every time we change something
  */
-#define E_CONFIG_FILE_VERSION 129
+#define E_CONFIG_FILE_VERSION 132
 
 #define E_EVAS_ENGINE_DEFAULT      0
 #define E_EVAS_ENGINE_SOFTWARE_X11 1
@@ -87,6 +88,9 @@
    double      framerate;
    int         image_cache;
    int         font_cache;
+   int         edje_cache;
+   int         edje_collection_cache;
+   double      cache_flush_interval;
    int         zone_desks_x_count;
    int         zone_desks_y_count;
    int         use_virtual_roots;
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_ipc_handlers.h,v
retrieving revision 1.109
retrieving revision 1.110
diff -u -3 -r1.109 -r1.110
--- e_ipc_handlers.h    24 Nov 2005 01:37:01 -0000      1.109
+++ e_ipc_handlers.h    24 Nov 2005 04:23:31 -0000      1.110
@@ -1881,6 +1881,129 @@
 #undef HDL
 
 /****************************************************************************/
+#define HDL E_IPC_OP_EDJE_CACHE_SET
+#if (TYPE == E_REMOTE_OPTIONS)
+   OP("-edje-cache-set", 1, "Set the edje cache size (items)", 0, HDL)
+#elif (TYPE == E_REMOTE_OUT)
+   REQ_INT(atoi(params[0]), HDL)
+#elif (TYPE == E_WM_IN)
+   START_INT(val, HDL);
+   e_config->edje_cache = val;
+   E_CONFIG_LIMIT(e_config->edje_cache, 0, 256);
+   e_canvas_recache();
+   SAVE;
+   END_INT;
+#elif (TYPE == E_REMOTE_IN)
+#endif
+#undef HDL
+
+/****************************************************************************/
+#define HDL E_IPC_OP_EDJE_CACHE_GET
+#if (TYPE == E_REMOTE_OPTIONS)
+   OP("-edje-cache-get", 0, "Get the speculative edje cache size (items)", 1, 
HDL)
+#elif (TYPE == E_REMOTE_OUT)
+   REQ_NULL(HDL)
+#elif (TYPE == E_WM_IN)
+   SEND_INT(e_config->edje_cache, E_IPC_OP_EDJE_CACHE_GET_REPLY, HDL);
+#elif (TYPE == E_REMOTE_IN)
+#endif
+#undef HDL
+
+/****************************************************************************/
+#define HDL E_IPC_OP_EDJE_CACHE_GET_REPLY
+#if (TYPE == E_REMOTE_OPTIONS)
+#elif (TYPE == E_REMOTE_OUT)
+#elif (TYPE == E_WM_IN)
+#elif (TYPE == E_REMOTE_IN)
+   START_INT(val, HDL)
+   printf("REPLY: %i\n", val);
+   END_INT;
+#endif
+#undef HDL
+
+/****************************************************************************/
+#define HDL E_IPC_OP_EDJE_COLLECTION_CACHE_SET
+#if (TYPE == E_REMOTE_OPTIONS)
+   OP("-edje-collection-cache-set", 1, "Set the edje collection cache size 
(items)", 0, HDL)
+#elif (TYPE == E_REMOTE_OUT)
+   REQ_INT(atoi(params[0]), HDL)
+#elif (TYPE == E_WM_IN)
+   START_INT(val, HDL);
+   e_config->edje_collection_cache = val;
+   E_CONFIG_LIMIT(e_config->edje_collection_cache, 0, 512);
+   e_canvas_recache();
+   SAVE;
+   END_INT;
+#elif (TYPE == E_REMOTE_IN)
+#endif
+#undef HDL
+
+/****************************************************************************/
+#define HDL E_IPC_OP_EDJE_COLLECTION_CACHE_GET
+#if (TYPE == E_REMOTE_OPTIONS)
+   OP("-edje-collection-cache-get", 0, "Get the speculative edje collection 
cache size (items)", 1, HDL)
+#elif (TYPE == E_REMOTE_OUT)
+   REQ_NULL(HDL)
+#elif (TYPE == E_WM_IN)
+   SEND_INT(e_config->edje_collection_cache, 
E_IPC_OP_EDJE_COLLECTION_CACHE_GET_REPLY, HDL);
+#elif (TYPE == E_REMOTE_IN)
+#endif
+#undef HDL
+
+/****************************************************************************/
+#define HDL E_IPC_OP_EDJE_COLLECTION_CACHE_GET_REPLY
+#if (TYPE == E_REMOTE_OPTIONS)
+#elif (TYPE == E_REMOTE_OUT)
+#elif (TYPE == E_WM_IN)
+#elif (TYPE == E_REMOTE_IN)
+   START_INT(val, HDL)
+   printf("REPLY: %i\n", val);
+   END_INT;
+#endif
+#undef HDL
+
+/****************************************************************************/
+#define HDL E_IPC_OP_CACHE_FLUSH_INTERVAL_SET
+#if (TYPE == E_REMOTE_OPTIONS)
+   OP("-cache-flush-interval-set", 1, "Set the cache flush interval (sec) (0.0 
= off)", 0, HDL)
+#elif (TYPE == E_REMOTE_OUT)
+   REQ_DOUBLE(atof(params[0]), HDL);
+#elif (TYPE == E_WM_IN)
+   START_DOUBLE(dbl, HDL);
+   e_config->cache_flush_interval = dbl;
+   E_CONFIG_LIMIT(e_config->cache_flush_interval, 0.0, 600.0);
+   e_canvas_recache();
+   SAVE;
+   END_DOUBLE;
+#elif (TYPE == E_REMOTE_IN)
+#endif
+#undef HDL
+
+/****************************************************************************/
+#define HDL E_IPC_OP_CACHE_FLUSH_INTERVAL_GET
+#if (TYPE == E_REMOTE_OPTIONS)
+   OP("-cache-flush-interval-get", 0, "Get the interval between cache flushed 
(sec)", 1, HDL)
+#elif (TYPE == E_REMOTE_OUT)
+   REQ_NULL(HDL);
+#elif (TYPE == E_WM_IN)
+   SEND_DOUBLE(e_config->cache_flush_interval, 
E_IPC_OP_CACHE_FLUSH_INTERVAL_GET_REPLY, HDL);
+#elif (TYPE == E_REMOTE_IN)
+#endif
+#undef HDL
+
+/****************************************************************************/
+#define HDL E_IPC_OP_CACHE_FLUSH_INTERVAL_GET_REPLY
+#if (TYPE == E_REMOTE_OPTIONS)
+#elif (TYPE == E_REMOTE_OUT)
+#elif (TYPE == E_WM_IN)
+#elif (TYPE == E_REMOTE_IN)
+   START_DOUBLE(fint, HDL);
+   printf("REPLY: %3.3f\n", fint);
+   END_DOUBLE;
+#endif
+#undef HDL
+
+/****************************************************************************/
 #define HDL E_IPC_OP_MENUS_FAST_MOVE_THRESHOLD_SET
 #if (TYPE == E_REMOTE_OPTIONS)
    OP("-menus-fast-move-threshold-set", 1, "Set the mouse speed 
(pixels/second) that is considered a 'fast move'", 0, HDL)
===================================================================
RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_ipc_handlers_list.h,v
retrieving revision 1.38
retrieving revision 1.39
diff -u -3 -r1.38 -r1.39
--- e_ipc_handlers_list.h       9 Nov 2005 02:00:33 -0000       1.38
+++ e_ipc_handlers_list.h       24 Nov 2005 04:23:31 -0000      1.39
@@ -340,3 +340,15 @@
 #define E_IPC_OP_FULLSCREEN_POLICY_GET_REPLY 322
 
 #define E_IPC_EFM_START 323
+
+#define E_IPC_OP_EDJE_CACHE_SET 324
+#define E_IPC_OP_EDJE_CACHE_GET 325
+#define E_IPC_OP_EDJE_CACHE_GET_REPLY 326
+
+#define E_IPC_OP_EDJE_COLLECTION_CACHE_SET 327
+#define E_IPC_OP_EDJE_COLLECTION_CACHE_GET 328
+#define E_IPC_OP_EDJE_COLLECTION_CACHE_GET_REPLY 329
+
+#define E_IPC_OP_CACHE_FLUSH_INTERVAL_SET 330
+#define E_IPC_OP_CACHE_FLUSH_INTERVAL_GET 331
+#define E_IPC_OP_CACHE_FLUSH_INTERVAL_GET_REPLY 332




-------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc. Do you grep through log files
for problems?  Stop!  Download the new AJAX search engine that makes
searching your log files as easy as surfing the  web.  DOWNLOAD SPLUNK!
http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to