Commit Graph

34 Commits

Author SHA1 Message Date
Rafael Antognolli 91a1ac65c7 evas/cserve2: Add handling of FONT_LOAD.
It's not fully functional, some things are still pending:
- Free allocated font;
- answer with error message if failed.



SVN revision: 71605
2012-05-31 21:34:21 +00:00
Rafael Antognolli 2c9e6a10f3 evas/cserve2: Adding font requests manipulation.
SVN revision: 71600
2012-05-31 21:33:53 +00:00
Iván Briano 1e6d85af97 Why this doesn't break for me? Now I have to use the bot for testing.
SVN revision: 70700
2012-05-03 21:17:55 +00:00
Iván Briano 15328efb85 evas/cserve2: fix typo that kept cserve2 disabled
now seriously...

Introducing Cache Serve 2.

This cache server will initially load images for clients connected to
it. It starts slave processes to load these images, and share the loaded
images through shm with the clients. All the connection done between
clients and the server goes through sockets.

The cserve2 build option is turned on by default, while the old cserve
was disabled, but in order to make clients use it, the environment
variable EVAS_CSERVE2 must be set, and a server must be running.

Clients will try to find the socket on a specified location using the
environment variable EVAS_CSERVE2_SOCKET. If it's not defined, then the
XDG_RUNTIME_DIR path should be used, and finally HOME, TMPDIR and /tmp.



SVN revision: 70699
2012-05-03 21:01:31 +00:00
Vincent Torri 4060b7d96e Evas: remove WIN32_CPPFLAGS and WIN32_CFLAGS are there are not used anymore. Move some headers in evas_common.h
SVN revision: 68100
2012-02-18 08:33:00 +00:00
Carsten Haitzler c885080057 an initial test at trying pixman instead of evas software rendering.
results... in comments. disabled atm unless u --enable it. only
replaces 1 operation in 2 cases.



SVN revision: 58824
2011-04-22 11:47:14 +00:00
Carsten Haitzler c8765d7594 a more correct version of the dso fix.
SVN revision: 50184
2010-07-11 23:56:40 +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 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
Carsten Haitzler b5f613f161 remove test progs and data
SVN revision: 26825
2006-10-28 07:04:17 +00:00
Carsten Haitzler 37642982f7 make other core efl things do the same package thing
SVN revision: 23876
2006-07-13 19:48:09 +00:00
doursse fd14218f04 fix a leak in xcb eng sfw (it remains one, but I don't see where it comes from). Update the xrender one. Don't use them yet (but who uses them ??), because it relies on fix of xcb that are in my hd
SVN revision: 22323
2006-04-23 15:38:23 +00:00
Horms 94cdd55ba6 Make sure moc_evas_software_qtopia_main.cpp exists for make dist, even if make clean has been called
SVN revision: 22052
2006-04-12 09:20:17 +00:00
doursse a2d6156402 missing file
SVN revision: 21176
2006-03-11 01:55:17 +00:00
doursse 1f3549a60b xrender xcb engine
SVN revision: 21172
2006-03-10 19:10:07 +00:00
Carsten Haitzler 2e0b4a37e8 oops - missing dirs
SVN revision: 20917
2006-03-02 13:07:26 +00:00
Carsten Haitzler f435375b19 initial import fo loadable engine modules for evas - from jorge zappie :)
SVN revision: 19775
2006-01-14 12:13:38 +00:00
Carsten Haitzler 7fce978d6a asparagus. and make distcheck passes again.
SVN revision: 17234
2005-10-06 08:47:12 +00:00
Carsten Haitzler f4a8513aa4 an xrender engine. fully complete - but it doesnt support shaped window masks
and destination alpha like software_x11 does so its not a 100% dropin
replacement... yet


SVN revision: 17112
2005-10-02 15:15:44 +00:00
sebastid 5179302f30 Don't have the CAIRO_CFLAGS as a general include.
SVN revision: 15338
2005-06-15 21:05:54 +00:00
doursse 2b2a800ad6 xcb port
SVN revision: 13822
2005-03-20 23:44:22 +00:00
Carsten Haitzler 17fc7bb20b auto-package for evas and cleanups
SVN revision: 13612
2005-03-04 14:34:35 +00:00
Carsten Haitzler 0e38160623 buildie cleanies
SVN revision: 11955
2004-10-22 02:40:32 +00:00
Carsten Haitzler 49d92b0277 distcheck
SVN revision: 11947
2004-10-21 08:06:13 +00:00
Carsten Haitzler 1131ec1e34 and here are the stubs of a cairo engine
SVN revision: 11248
2004-08-17 06:03:39 +00:00
Carsten Haitzler c6e321a630 distable... :)
SVN revision: 9745
2004-04-16 01:38:14 +00:00
Carsten Haitzler 792e48fa4c a good 20% speedup on my p4 and minor speedup on this p3. no difference on my
ipaq...


SVN revision: 9364
2004-03-16 08:03:00 +00:00
xcomputerman 8e1760ae8a Fix-moc-compiler-meta-dependency-distdir-kung-foo
SVN revision: 9184
2004-03-01 22:57:00 +00:00
Carsten Haitzler f11447ab8a cross-compile cleanly damnit!
SVN revision: 9002
2004-02-17 07:12:38 +00:00
Carsten Haitzler bbfaab2ac1 memory buffer engine... not doing everything. api may change... working on it.
SVN revision: 6808
2003-04-02 04:28:27 +00:00
Carsten Haitzler 702156de93 we build nice rpm's
SVN revision: 6671
2003-02-07 02:49:42 +00:00
Carsten Haitzler 81fd6f6c3d code code.. fix
SVN revision: 6496
2002-12-18 06:02:32 +00:00
Carsten Haitzler 56b5e15f26 code move
SVN revision: 6445
2002-11-08 08:02:15 +00:00