Recently, I have spent my time reading source code of both GIMP and GEGL, and got few questions about GEGL and its future role in GIMP.
1. Why DAG in GEGL? Intuitively, say if we have two operations that are applied on two independent regions, they should be located in two separated sub-tree (sub-graph), so that we can save save some traverse time and potential redraw time. However, it seems like that there is no such mechanism (correct me if I misunderstand the code) and all operation cache/reuse are determined according to the spatial relationship between the rectangle associated with the operations. If that's the case, won't a simple link-list suffice?
2. Following question one, it seems like that GEGL has not been fully integrated into GIMP (2.7) yet, and I am wondering that for some common image manipulation case, say red-eye removal or skin smooth, what will the DAG in GEGL look like? Will it look like a tree with height of two (connecting all operations to the root display node) or a simple 1-D list? Ideally, how should GIMP build the graph to maximize the rendering efficiency?
Thanks for your answering,
Tim Chen
_______________________________________________ Gimp-developer mailing list Gimp-developer@xxxxxxxxxxxxxxxxxxxxxx https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer