RSS/Atom feed Twitter
Site is read-only, email is disabled

New graph processing code

This discussion is connected to the gegl-developer-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.

This is a read-only list on gimpusers.com so this discussion thread is read-only, too.

1 of 1 message available
Toggle history

Please log in to manage your subscriptions.

New graph processing code Daniel Sabo 04 Jun 07:28
Daniel Sabo
2013-06-04 07:28:18 UTC (over 11 years ago)

New graph processing code

I've created a branch for the new graph processing code so we can test it a bit before I push it to master. It is immensely faster than the old code (my simple 15 node benchmark graph went from 10% overhead to about 0.5% overhead), but it has probably broken some assumptions about the old graph.

The known gotchas: * get_cached_region is no longer used. The cache bounds are always the full output bounds, but the request will not be expanded. * The cache intersect is calculated after all requests to a node are combined, so partial cache hits from multiple nodes may skip the cache. * Meta nodes (nodes who's pads do not reference them) will never be visited. * Prepare is called only once per node (at least until the node is invalidated), and must not modify the connectivity of the graph.

I've fixed the issues I found in the included operations (load, save, and layer were the only ones broken) and Gimp appears to work, but I'm sure there are some new bugs lurking around after changing this much code. :)

https://git.gnome.org/browse/gegl/log/?h=newgraph-merge

Thanks, - Daniel