diff options
author | Jean-Philippe Andre <jp.andre@samsung.com> | 2013-09-09 13:57:45 +0900 |
---|---|---|
committer | Jean-Philippe Andre <jp.andre@samsung.com> | 2013-10-28 10:57:08 +0900 |
commit | f396ed12a62a9ccf702b021ec0395e555ee2729b (patch) | |
tree | b6fc15bc9e1babdbfed3ea0566d35c5f2d5c6b65 | |
parent | aef11247835d1fefd9a0eb2f2f82e797c675090b (diff) | |
download | efl-f396ed12a62a9ccf702b021ec0395e555ee2729b.tar.gz |
evas/cserve2: Add cache hit count on image data
-rw-r--r-- | src/lib/evas/cache2/evas_cache2.c | 5 | ||||
-rw-r--r-- | src/lib/evas/cserve2/evas_cs2_image_data.c | 9 | ||||
-rw-r--r-- | src/lib/evas/cserve2/evas_cs2_private.h | 2 |
3 files changed, 15 insertions, 1 deletions
diff --git a/src/lib/evas/cache2/evas_cache2.c b/src/lib/evas/cache2/evas_cache2.c index 0444741289..fc7982d5ba 100644 --- a/src/lib/evas/cache2/evas_cache2.c +++ b/src/lib/evas/cache2/evas_cache2.c @@ -982,7 +982,10 @@ evas_cache2_image_load_data(Image_Entry *ie) int error = EVAS_LOAD_ERROR_NONE; if ((ie->flags.loaded) && (!ie->animated.animated)) - return error; + { + evas_cserve2_image_hit(ie); + return EVAS_LOAD_ERROR_NONE; + } ie->flags.in_progress = EINA_TRUE; diff --git a/src/lib/evas/cserve2/evas_cs2_image_data.c b/src/lib/evas/cserve2/evas_cs2_image_data.c index a5e49da396..845107e55b 100644 --- a/src/lib/evas/cserve2/evas_cs2_image_data.c +++ b/src/lib/evas/cserve2/evas_cs2_image_data.c @@ -20,4 +20,13 @@ evas_cserve2_image_data_get(Image_Entry *ie) return dentry->shm.data; } +unsigned int +evas_cserve2_image_hit(Image_Entry *ie) +{ + Data_Entry *dentry = ie->data2; + + if (!dentry) return 0; + return ++dentry->hit_count; +} + #endif diff --git a/src/lib/evas/cserve2/evas_cs2_private.h b/src/lib/evas/cserve2/evas_cs2_private.h index 8d12e693c7..c0ed575f81 100644 --- a/src/lib/evas/cserve2/evas_cs2_private.h +++ b/src/lib/evas/cserve2/evas_cs2_private.h @@ -14,6 +14,7 @@ typedef struct _Shared_Buffer Shared_Buffer; struct _Data_Entry { unsigned int image_id; + unsigned int hit_count; void (*preloaded_cb)(void *, Eina_Bool); struct { const char *path; @@ -81,6 +82,7 @@ Eina_Bool evas_cserve2_image_preload(Image_Entry *ie, void (*preloaded_cb)(void void evas_cserve2_dispatch(void); void *evas_cserve2_image_data_get(Image_Entry *ie); +unsigned int evas_cserve2_image_hit(Image_Entry *ie); Font_Entry *evas_cserve2_font_load(const char *source, const char *name, int size, int dpi, Font_Rend_Flags wanted_rend); EAPI int evas_cserve2_font_load_wait(Font_Entry *fe); |