2009/7/8 yahvuu <yah...@gmail.com>:
> Nicolas Robidoux schrieb:
>> At start-up, the user could be presented with a list of unfinalized
>> workspaces, and asked whether to finalize each, or open each.
>
> just for clarification: by "workspaces" you're referring to nip2 workspaces,
> which roughly translate to GIMP compositions, correct?

For reference, here's how nip2 handles this:

- the workspace (tree of operators) is saved to the temp directory
every time you make a change (it keeps the most recent 10 I think) for
undo and crash recovery
- workspaces do not include thumbnails, it's almost always faster to
recalculate them
- import files (eg. when you load a PNG or SVG) are kept on disc in
the temp directory and then mmaped for processing

- image display windows have a small ram cache of recently-calculated
tiles to speed scrolling and expose operations

- there's a "cache" operator you can add to the graph explicitly if
you wish, but no one uses it (it slows down calculation and increases
memory use to some degree, and you are not guaranteed to win that
invested time back again unless you start heavily editing certain
parts of the composition, which you often don't)

- if you use the paintbox (a very simple destructive image editor) on
a node, it renders that node to a file in the temp directory at full
resolution and you edit that image on disc via. a read-write mmap
- paintbox undo/redo buffers are kept in ram
- if you invalidate a node that's being painted, the associated disc
file is deleted and rerendered

- when you save an image, the fuil composition is rendered and not
cached (they can be extremely large and there is again no guarantee
that "spending" that disc space will produce a benefit)
- if you save in a non-compressed format, you can always reload and
save as JPG if you wish

We have experimented with various caching or persistence schemes over
the last 15 years or however long it is, but none of them have ever
really stuck. Small, fast workspace files and not filling disc
unexpectedly with large, speculative caches seem to be useful
principles.

On the other hand of course nip2 has few users due to it's hostile
nature, heh. Anyway, it is one set of choices.

John
_______________________________________________
Gimp-developer mailing list
Gimp-developer@lists.XCF.Berkeley.EDU
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer

Reply via email to