I have increased max undo from 128 to 512, as 128 was way too low imho. In the next version it will be in preferences, but 512 may be the default. Any objections?
And by the way, has anyone tried my 256x max zoom patch?
_________________________________________________________________ The new MSN 8: advanced junk mail protection and 2 months FREE* http://join.msn.com/?page=dept/bcomm&pgmarket=en-ca&RU=http%3a%2f%2f...
The extra zoom seems to work great and the increase of undos until our new pref. dialog is ok IMO.
jon
On Sat, 2003-12-06 at 21:10, bulia byak wrote:
I have increased max undo from 128 to 512, as 128 was way too low imho. In the next version it will be in preferences, but 512 may be the default. Any objections?
And by the way, has anyone tried my 256x max zoom patch?
The new MSN 8: advanced junk mail protection and 2 months FREE* http://join.msn.com/?page=dept/bcomm&pgmarket=en-ca&RU=http%3a%2f%2f...
This SF.net email is sponsored by: SF.net Giveback Program. Does SourceForge.net help you be more productive? Does it help you create better code? SHARE THE LOVE, and help us help YOU! Click Here: http://sourceforge.net/donate/ _______________________________________________ Inkscape-devel mailing list Inkscape-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/inkscape-devel
On Sun, 7 Dec 2003, bulia byak wrote:
Date: Sun, 07 Dec 2003 05:10:31 +0000 From: bulia byak <archiver_1@...19...> To: inkscape-devel@lists.sourceforge.net Subject: [Inkscape-devel] max undo
I have increased max undo from 128 to 512, as 128 was way too low imho. In the next version it will be in preferences, but 512 may be the default. Any objections?
Are there any plans to work on Infinite Undo? Some sort of journalling or suchlike? Should I file an RFE?
Primarily from a usability point of view I dont like ever needing to (have a preference or even) answer the question of how many levels of undo I want. Users of course want as many levels of Undo as they can get.
I get that memory management can be very complicated in a raster graphics programs with all sorts of effects but I dont quite understand what the problem is in a vector graphics application.
Sincerely
Alan Horkan
On Mon, 2003-12-08 at 13:13, Alan Horkan wrote:
Are there any plans to work on Infinite Undo? Some sort of journalling or suchlike? Should I file an RFE?
Primarily from a usability point of view I dont like ever needing to (have a preference or even) answer the question of how many levels of undo I want. Users of course want as many levels of Undo as they can get.
There would probably have to be some upper bound. I can see after some long, heavy editing session, the memory footprint getting quite large. If the undo level isn't up to the user, how would the application limit the amount of memory it uses (not a rhetorical question)? I imagine at some point, old actions would have to fall off the end of the list.
I get that memory management can be very complicated in a raster graphics programs with all sorts of effects but I dont quite understand what the problem is in a vector graphics application.
You still need memory, but not at the same magnitude. A vector app could probably support a much higher undo level than a raster image program, since Inkscape is only manipulating SVG nodes and their properties.
Mike
Michael D. Seymour wrote:
On Mon, 2003-12-08 at 13:13, Alan Horkan wrote:
Are there any plans to work on Infinite Undo? Some sort of journalling or suchlike? Should I file an RFE?
Primarily from a usability point of view I dont like ever needing to (have a preference or even) answer the question of how many levels of undo I want. Users of course want as many levels of Undo as they can get.
There would probably have to be some upper bound. I can see after some long, heavy editing session, the memory footprint getting quite large. If the undo level isn't up to the user, how would the application limit the amount of memory it uses (not a rhetorical question)? I imagine at some point, old actions would have to fall off the end of the list.
You can always spool to disk. It's relatively easy to add, just allocate the memory using mmap (this limits you to less than 2GB of undo, but perhaps we'll all have 64bit cpus before it matters :)
njh
On Mon, 2003-12-08 at 13:13, Alan Horkan wrote:
Are there any plans to work on Infinite Undo? Some sort of journalling or suchlike? Should I file an RFE?
Well, in principle there's no reason we couldn't make Undo unlimited, short of actual memory constraints. I certainly don't mind having upped the limit.
The transactions model I added to the SPRepr layer does essentially record a journal of changes during each transaction (a linked list of SPReprActions). It holds references to the actual SPRepr nodes affected, rather than copies, so it is pretty memory-efficient.
You can still have some worst-case scenarios though -- e.g. if many large subtrees have been deleted over the course of the editing session. They'll all unavoidably take up memory in the undo list, somewhat contrary to user expectations.
So, really the choices are:
A. have a (perhaps user-configurable) predetermined undo cutoff (either in undo levels or bytes)
B. allow the user to manually prune the undo list
C. crash when a large undo list OOMs us
(Note that these options are not mutually exclusive...)
Undo accounting in bytes is tricky as many log entries will share data, but certainly doable.
Realistically, are users ever going to backtrack through more than ~300 levels of undo anyway?
Assuming we could actually perform undos that quickly (unlikely on a very complex document...) 300 levels of undo means a full minute of clicking at a sustained rate of 5 clicks/second. Ouch.
Having an undo history window would mitigate that somewhat, but that many undo entries would still be pretty unwieldy. Assuming a decent-sized thumbnail (ignoring the memory cost of that + descriptive labels), 300 entries means scrolling through almost 19 screen-heights on a display 1024 pixels high.
-mental
On Mon, 8 Dec 2003, MenTaLguY wrote:
Realistically, are users ever going to backtrack through more than ~300 levels of undo anyway?
This is what I'm wondering too. ;-)
I can imagine a few situations where full version history could be necessary, but in such cases an external VCS or DMS would be a better solution anyway.
Persisting the undo stream to a log could be handy in the case of crashes or accidents, although there'd be a question as to where the best place to store that stream would be.
Bryce
participants (7)
-
Alan Horkan
-
Bryce Harrington
-
bulia byak
-
Jonathan Phillips
-
MenTaLguY
-
Michael D. Seymour
-
Nathan Hurst