Commit Graph

1222 Commits

Author SHA1 Message Date
Carsten Haitzler 26dea1fee7 dont dirty on loadopt change - cache handles that
SVN revision: 40583
2009-05-10 22:42:09 +00:00
Carsten Haitzler 47f6f036c1 fix load opts to only unload/reload if opts changed for cserve
SVN revision: 40573
2009-05-10 03:06:49 +00:00
Vincent Torri 22969c71ef allow compilation on OS where the cache server can't be built (like Windows...)
SVN revision: 40570
2009-05-09 16:18:31 +00:00
Vincent Torri fb5e325078 remove EINA_WARN_UNUSED_RESULT on functions that return nothing
SVN revision: 40565
2009-05-09 06:59:00 +00:00
Vincent Torri 7ac68a4283 include time.h header files because time_t is used in Evas.h
SVN revision: 40558
2009-05-08 21:46:01 +00:00
Carsten Haitzler f79b4a4a2f 1. scalecache config env vars an use them
2. more api's related to cserve



SVN revision: 40548
2009-05-08 11:26:25 +00:00
Carsten Haitzler 85bff718d6 1. scale cache now allows you to hint at the object if its dynamic, static or
none (ie default) and the engines actually understand it and use it.
2. fixes to scalecache and cserver too. more toto's done and its now been
stress tested by me - and i think cserve is ready to go gold. just enable it
with export EVAS_CSERVE=1 in your env for any eflapps - and run evas_cserve
(cmd-line options avalable plus cmd-line tol to query settings change on the
fly and query statsitics and state)



SVN revision: 40536
2009-05-07 13:29:56 +00:00
Vincent Torri 63f52c10c8 config.h is automatically added as a dependency by automake
SVN revision: 40531
2009-05-07 07:33:30 +00:00
Carsten Haitzler d92a6d99a7 more cserver work for sharede cache- improvements
SVN revision: 40524
2009-05-06 12:36:06 +00:00
Carsten Haitzler b37f6643cf fix char-wrap min size calc!
SVN revision: 40522
2009-05-06 12:34:54 +00:00
Gustavo Sverzut Barbieri 880ecd5726 fix minor build problems.
SVN revision: 40517
2009-05-06 06:39:59 +00:00
Carsten Haitzler 892c085276 more todo items knocked off for cserve
SVN revision: 40509
2009-05-05 14:37:18 +00:00
Carsten Haitzler bd6d938956 todo items for cserve for evas done - well some of them. more to come.
SVN revision: 40495
2009-05-03 07:37:31 +00:00
Gustavo Sverzut Barbieri 8ef8b1e15a fix build of cserve with -fvisibility=hidden.
SVN revision: 40486
2009-05-02 15:53:48 +00:00
Carsten Haitzler 46e8aa1b0d shared cache server++
is it ok?

1. it can be --disabled in evas's configure, but i think it works WITHOUT
disabling it (runtime) as it falls back to the old way of loading
2. it may cause build problems on some platforms - without it being enabled
we won't find out, so enable.
3. it needs enabling runtime to make use of it so it should be safe for now
until you enable it.

what is it?

it is a SHARED cache server - that means images loaded are loaded BY the
cache server (not by the actual process using evas). images are shared via
shared memory segments (shm_open + mmap). this means only 1 copy is in all
ram at any time - no matter how many processes need it , and its only loaded
once. also if another app has already loaded the same data - and its in the
cache or active hash, then another process needing the same stuff will avoid
the loads as it will just get instant replies from the cache of "image already
there". as it runs in its own process it can also time-out images from the
cache too.

right now you enable it by doing 2 things

1. run evas_cserve (it has cmd-line options to configure cache etc.
2. export EVAS_CSERVE=1 (im the environment of apps that should use the cache
server).

it works (for me) without crashes or problems. except for the following:

1. preloading doesnt work so its disabled if cserve is enabled. thisis
because the load threads interfere withthe unix comms socket causing
problems. this need to really change and have the cserve know about/do
preload and let the select() on the evas async events fd listen for the
unsolicited reply "load done". but it's not broken - simple preloads are
syncronous and forced if cserve is enabled (at build time).
2. if cserve is killed/crashes every app using it will have a bad day. baaad
day. so dont do it. also cserve may be vulnerable to apps crashing on it - it
may also exit with sigpipe. this needs fixing.
3. if the apps load using relative paths - this will break as it doesnt
account for the CWD of the client currently. will be fixed.
4. no way to change cache config runtime (yet)
5. no way to get internal cache state (yet).
6. if cache server exist - it wont clean up the shmem file nodes in /dev/shm
- it will clean on restart (remove the old junk). this needs fixing.

if you fine other issues - let me know.

things for the future:

1. now its a separate server.. the server could do async http etc. loads too
2. as a server it could monitor history of usage of files and images and
auto-pre-load files it knows historically are loaded then whose data is 
immediately accessed.
3. the same infra could be used to share font loads (freetype and/or 
fontconfig data).
4. ultimately being able to share rendered font glyphs will help a lot too.
5. it could, on its own, monitor "free memory" and when free memory runs
load, reduce cache size dynamically. (improving low memory situations).
6. it should get a gui to query cache state/contents and display visually.
this would be awesome to have a list of thumbnails that show whats in the
cache, how many referencesa they have, last active timestamps etc.

blah blah.

please let me know if the build is broken asap though as i will vanish
offline for a bit in about 24hrs...



SVN revision: 40478
2009-05-01 07:11:07 +00:00
Mike Frysinger 0041222bb0 pull in evas_common.h for evas_string_char_len_get() decl
SVN revision: 40428
2009-04-28 05:06:48 +00:00
Gustavo Sverzut Barbieri f783e3900d add missing "changed" flags.
SVN revision: 40409
2009-04-27 02:41:27 +00:00
Iván Briano 554dccdb0b some formatting
SVN revision: 40343
2009-04-24 04:35:52 +00:00
Iván Briano 6c7831c3ab Build against newer Fribidi
SVN revision: 40341
2009-04-24 00:21:26 +00:00
Vincent Torri 7f98415206 add GDI engine.
todo: fullscreen and shape support


SVN revision: 40310
2009-04-23 03:20:51 +00:00
Carsten Haitzler 99ccf484f8 snapworth quality - distchecked. sonames bumped. rev's bumped. tarballs
uploaded.



SVN revision: 40284
2009-04-22 14:07:05 +00:00
Carsten Haitzler 5399d14e78 limit init and fini to.. once!
SVN revision: 40261
2009-04-21 06:26:52 +00:00
Vincent Torri cc2916b58f add evas_intl_utils.h to extra dist (fix make distcheck)
reported by Albin Tonnerre


SVN revision: 40243
2009-04-19 22:06:59 +00:00
Carsten Haitzler 38811d99c5 cleanup on shutdown better
SVN revision: 40242
2009-04-19 20:40:41 +00:00
Carsten Haitzler ce5a59b7e5 lutin... release soname patch. verbose svn soname used right now
SVN revision: 40131
2009-04-17 10:01:45 +00:00
Vincent Torri 1893ae93be fix compilation with c++ compilers (needed for Windows too)
patch by Lars Munch


SVN revision: 40103
2009-04-16 10:41:27 +00:00
Iván Briano 994190d144 Don't leak, and be consistent with return values.
SVN revision: 40101
2009-04-16 04:52:33 +00:00
Carsten Haitzler 06e06c4e34 space--
SVN revision: 40087
2009-04-15 14:42:21 +00:00
Carsten Haitzler 215ee3b77b and save makefile.am
SVN revision: 40085
2009-04-15 13:56:42 +00:00
Cedric BAIL 10a15524cc * evas: Finally remove as much free/malloc from the render path. Will need certainly
need some tunning on the number of Evas_Rectangle allocated in advance.


SVN revision: 40084
2009-04-15 13:40:37 +00:00
Carsten Haitzler ce6094df3f move fribidi link to main lib
SVN revision: 40082
2009-04-15 12:01:05 +00:00
Gustavo Sverzut Barbieri 1a395af37d cedric I hate you :-)
remove last code using non-eina_mempool rectangles and abort() that
was triggering on clicks on titlebar.

Thanks to antognolli for reporting.



SVN revision: 40074
2009-04-15 03:14:41 +00:00
Gustavo Sverzut Barbieri 7468b45fbc export useful function.
SVN revision: 40065
2009-04-14 23:51:43 +00:00
Cedric BAIL 55e281b4ff * evas: Now all Evas_Rectangle are part of a pool. Next step would be to
remove free at the end of evas_object_render_pre_effect_updates and only
	do it on idle.


SVN revision: 40040
2009-04-14 12:15:07 +00:00
Cedric BAIL fa4c0f3ea3 * evas: Another attempt to fix clip cache. Now invalid clip cache every time
we change cur.geometry in the code (did a grep to locate this). I hope I did
	spot all users, as I didn't see bug in exec_buf, efm and in window title, I
	am confident enought to break svn again.

	* WARNING * This change can cause visual bug. Please report.



SVN revision: 40039
2009-04-14 10:47:15 +00:00
Cedric BAIL 0a662abf81 * evas: Oops, forgotten patch freeing without mempool.
SVN revision: 40038
2009-04-14 09:48:31 +00:00
Cedric BAIL d40e3ac01a * evas: Add a mempool. More speedup to come, depend on timing with "break" freeze.
SVN revision: 40037
2009-04-14 09:27:27 +00:00
Carsten Haitzler 2f0458439a and actually enable th RTL code!
SVN revision: 39981
2009-04-11 13:11:10 +00:00
Carsten Haitzler e279ba4bbe more files!
SVN revision: 39974
2009-04-11 08:11:47 +00:00
Carsten Haitzler 02f87aeaf5 and add files!
SVN revision: 39973
2009-04-11 08:06:50 +00:00
Carsten Haitzler c89a71c6c2 TAsn: patch from tasn. use libfribid for Right-to-left text.
this (apparently) makes right-to-left work for display. that means:

hebrew
yiddish
arabic
persian
...

i don't read (or write ... or speak) an of these...

so.. i'll leave it up to others to find bugs/problems and send patches.
thanks a huge amount to TAsn for the patch!



SVN revision: 39972
2009-04-11 07:51:20 +00:00
Carsten Haitzler de96594bde revert - spotted clip bug in titlebar in e17.
SVN revision: 39966
2009-04-11 07:10:26 +00:00
Cedric BAIL d3a9b8307f * evas: This patch reintroduce the use of cache for clip. I don't know
why it was disable the first time, so it could lead to some graphic bug.
	Please report any strange behaviour.

	*WARNING* This could really introduce some visual bug.



SVN revision: 39940
2009-04-10 15:14:40 +00:00
Carsten Haitzler 481bde4366 raoul: patch to fix thml-escapes for textblock
SVN revision: 39914
2009-04-10 03:25:27 +00:00
Carsten Haitzler b0b043f443 scalecache tracks normal cache size etc. etc. etc.
SVN revision: 39907
2009-04-09 13:20:00 +00:00
Cedric BAIL df60ff6129 * evas: Make one more function inline.
SVN revision: 39894
2009-04-08 11:08:02 +00:00
Carsten Haitzler d5cfffc3c2 add - in theory rgb24+32 666 support (ezx).
SVN revision: 39836
2009-04-03 01:00:54 +00:00
Carsten Haitzler 9c4c129125 hmm some more generous params for sc.
SVN revision: 39808
2009-03-31 04:12:09 +00:00
Carsten Haitzler 44dc876479 remove accounting info not used atm.
SVN revision: 39766
2009-03-28 02:50:19 +00:00
Carsten Haitzler 9dbf47682d oops and fix the flags!
SVN revision: 39762
2009-03-27 14:11:27 +00:00