On Wed, Apr 9, 2008 at 6:38 AM, Jose Gonzalez <[EMAIL PROTECTED]> wrote:
>    Cedric wrote:
>  >   Let's really break everything ! This is the same serie of old patch
>  > up to date that improve the cache system. It should not break
>  > anything. The code is cleaner and should fix some bugs hard to track
>  > in the current code base.
>  >
>  >   I want to base my work on loading image in the background on this
>  > code. So I would like people to take time to test, check their
>  > application with it and report bugs to me.

>       That's a pretty hefty patch. :)  Do you think you could write
>  down some of the design/structure/etc, and what you're aiming for
>  here.. for the sake of posterity and mere mortals with little time
>  to look it all over. :)

Yes of course. So it's basically an improvement of the current cache system.

First I wanted a cleaner code, so all manipulation of an image entry
in the cache are done by small function that only do that. I should
have done this the first time. This reduce the number of bug inside
the cache system and make the code easier to read. This function are
at the top of the evas_cache*.c file.

I also wanted to reduce the number of call to malloc. So I added the
Image_Entry at the top of RGBA_Image and Soft16_Image. I removed the
pointer to a RGBA_Surface to a structure inside RGBA_Image. With all
this change, the cache system doesn't allocate the image structure,
but it's the dutty of the common engine (then 32bpp and 16bpp common
engine share now the same cache code).

As this patch start to give more power to the 16bpp engine, it make it
a common engine.

The final goal is still to use the same cache system in each engine
(many engine have right now their own cache system that do more or
less the same thing). To do this, the next step will be to merge more
code between both software_sdl engine (16 and 32 bpp).

As the code base of the cache is cleaner, it should be easier to add
new functionality. For example, I think adding the background loading
of an image surface should be really easy with this code base.

I know that this code change is huge, and it's difficult for me to
split it as I started to do the work the old way (without git). If you
have more questions or if I am not really clear on some change, don't
hesitate to ask more question !

-- 
Cedric BAIL

-------------------------------------------------------------------------
This SF.net email is sponsored by the 2008 JavaOne(SM) Conference 
Don't miss this year's exciting event. There's still time to save $100. 
Use priority code J8TL2D2. 
http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to