with GEGL's ability to only render what is visible on the screen
(and ideally in that very resolution) we are comfortably spoilt
for choice by when to render a composition to full resolution.
While saving the user's work -- which amounts to the GEGL tree -- can
be done quite quickly (assuming a size from a few KB to a few 100KBs
for excessive painting), rendering to full resolution may take
minutes to hours and allocate 100s MBs of disk space for huge/complex
I see two poles for the rendering strategy, both of which have downsides:
- eager rendering: render as soon as possible, latest when
saving the composition
- lazy rendering: render only when the full resolution is actually
required, that is on export time
Eager rendering gets in the way when the user terminates the GIMP session
just to continue work the next morning. This breaks Save as in Save-my-Work.
Lazy rendering may surprise users when it takes hours to print a
composition or to export a JPG to send it to a collegue. Moreover,
multiple exports duplicate the rendering effort.
I'm not really shure if these are just corner cases. However, following
the project vision's 'high-end' & 'cutting-edge' adjectives i assume
GIMP striving to be a reasonable choice for the 'big' jobs.
Then the user needs to be able to control when the composition gets rendered.
The first-guess solution to add a checkbox to the save dialog, like
' [X] render to full resolution '
forces the user to think about rendering in advance and is likely
to be confusing as the state of that checkbox has to be remembered.
Consider a quick CTRL-S in fear of a system crash or save-a-copy to
preserve older versions.
The best solution i've found so far is to first save the GEGL tree to
make shure the user's work is safe. After that, rendering will start,
and the image window gets overlayed by a lightbox displaying the rendering
progress and a button 'schedule rendering for later'.
Some kind of dashboard for controlling scheduled jobs will problably be
required for batch processing anyway. CTRL-S could potentially only save the
composition without rendering to full resolution.
... still not that nice...
Gimp-developer mailing list