Re: Cache strategy

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jun 15, 2009 at 8:12 PM, Patrik Östman<pa.ostman@xxxxxxxxx> wrote:
> node 1  to node 2. Are there any significant changes of cache
> handling done between 0.0.20 and 0.0.22 or are there a
> setting that must be turned on to get 'per node caches'
> functionality?

The caching policies and mechanisms in GEGL are still basic and rough.
At the moment the GeglOperationClass has a boolean no_cache member
that is checked. Which operation subclasses automatically do cache
have changed lately since the memory consumption of caching every
single node probably outweighs the benefits of caches for every single
node. In particular I think point operations now explicitly do not
cache their results.

Ive entertained the idea to use special nodes to indicate caches, but
that would to some extent muddle the graph. Perhaps a better solution
is to allow turning the caches on dynamically on demand and not only
define such hints in the class, the existing implementation should be
possible to bend in both ways.

> Another question: What is the difference between
> GEGL_BLIT_CACHE and GEGL_BLIT_DEFAULT flags of the
> 'blit' function?

GEGL_BLIT_DEFAULT will not create a cache for the node but render
directly, using GEGL_BLIT_CACHE instead will create a cache that
results are rendered into and provided from, making subsequent
requests when properties and the graph has not changed be much faster.

-- 
«The future is already here. It's just not very evenly distributed»
                                                 -- William Gibson
http://pippin.gimp.org/                            http://ffii.org/
_______________________________________________
Gegl-developer mailing list
Gegl-developer@xxxxxxxxxxxxxxxxxxxxxx
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gegl-developer


[Index of Archives]     [Yosemite News]     [Yosemite Photos]     [gtk]     [GIMP Users]     [KDE]     [Gimp's Home]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux