IMHO the way GIMP works is fine, and interaction should never be
blocked. We don't want a program that is unusable while an effect is
A better solution (and I think that the porting to GEGL is aiming in
this direction, among other things) would be to put the filter and the
transformations in a sort of queue, so the interaction is never blocked
and the processes are stacked so you can continue working while a filter
Of course, in some point it will be necessary to implement a "smart"
queue that blocks some processes that can be incompatible between them,
but I think that simply blocking interaction while a plugin is working
would be a step backwards.
There's something I saw in Avid Liquid that is extremely interesting.
The program shows a quick preview of the effects using the GPU while you
edit, and it renders the filter in the background.
Of course I won't compare a video editor with a program like GIMP, but I
find that method very interesting.
Using low resolution proxies of the filters would give an instant
feedback of the filters while the real transformation is applied in the
That would be in my oppinion a smart way to avoid blocking interaction
without limiting the possibilities of the program.
Gimp-developer mailing list