Rhino 6 undo limited?

Hi.
How many undos have Rhino 6?

Hello - it is limited by available memory, not undo steps, as the memory need per step will vary a great deal. Set in Options > General page. I would probably not set this to more than maybe 10% if system RAM.

-Pascal

1 Like

Hi Pascal.
The main problem is, when working with mesh, after extract mesh face Rhino 6 only let me do 3 or 4 undos. Then it stop undos and i can not get back any more. If i do not previous save the file i might loose the change to modify because there is no undos.
This afternoon undos on regular work are limited to. 5/8 undos and then stop. I have to be careful and make saves all time before work on sequences.
I think it behaves diferent in partifular ocasions. I can no explain further.
This is a new machine. 64 gb Ram + RTX 2080ti + 3950x cpu + SSD Nvme

That is expected. The Mesh editing you described are memory hogs.
If you really need more Undo memory, you can carve it away, the then there’s that much less available for modeling.
Options > General

But in Rhino 5 i can be secure about “undos”. In fact i have used a lot of undos everyday in Rhino5 and is great inside that rhino version. Why it behaves like this in Rhino 6?

Hello - in V5, you do indeed get to set the minimum number of Undo steps. This is misleading, because if you set the number of steps high, and you you perform ‘large’ operations, the number of steps will surpass the set memory limit and potentially the system memory. In effect the undo maximum memory in V5 is elastic and therefore can lead to crashes. In V6, you can set the Undo memory size limit and this is respected… set it as large as you like, but keep in mind the system RAM.

-Pascal

For this machine specs and more instances of other softwares open at the same time working in rhino what should be a good value for undos in Rhino 6?

Hello - I would not go above 10% of system RAM, myself. This is certainly somewhat arbitrary, a starting point, and if you are paying attention to memory use, you may be able to use more than that.

-Pascal

Ok. Thanks.
Suggestion: This option should be named like “number of undos permited” despite “max memory usage undos”. Just an opinion :smile:

But sitll not get it: Why i can see Rhino 5 in options - general with the same “max memory usage” like Rhino 6 options but they behave really different.


It was changed because the number of undos setting would OVERRIDE Max RAM and people working on huge models were running Windows out of memory. You have a lot of RAM, set it to an absurd number.

An ideal solution to this (maybe in Rhino 7?) would be to have both options available:

  1. Minimum number of undos set by the user, but in conform with the system RAM (i.e. it will not exceed the system RAM no matter if the user sets 100 or 1 000 000 undos as a minimum).

  2. Max memory used per undo step. Make it easier to understand. Until that moment I thought that the maximum memory was relative to the total memory allowed to be used for all undo steps, but now I understand that it’s for each individual step instead. Nice to know that. Rhino’s help topics is not very specific about that. It mentions the following:

i agree.
It should be “at least like most other softwares out there”. But still dont get it why it is really different compared from Rhino 5. I have never had issues like that using undos in R5.
Today i have to work on R5 because of my work collegues that still use mainly R5 for compatibility workflow. I still agree that R5 is more responsive then R6 in the end of the day. But i know that they have total diferent engines. I hope in R7 all Mcneel Team will bring a better R7 (a between of R5 smoothness and R6 features).
Come back later to report more about “undos”

Thanks again for all your quickly report as always with this forum community.
Cheers

That will result in people cluttering up support channels with questions about why they didn’t get the number of undos they set. The change was made FOR A REASON, guys.

@Architex It looks, in the screen shots you showed, like you have the undo memory set to 256 MB (1/4 GB). Is that what you are using, even though 10% of your 64 GB would be more like 6.4 GB?

@pascal, @John_Brock: Does Rhino, as installed, set a fixed limit and is it 256 MB? That seems pretty low especially given that some operations are “real memory hogs”. Personally I think that Rhino should be capable “out of the box” of at least two dozen undo’s of the worst case operations. Perhaps, if it doesn’t already, the installer should set the max to a fixed percentage of available RAM as you suggest. It might also be a good idea for Rhino to have an optional popup warning, set on by default, that undo capacity is getting full.

1 Like

Hi.
Yes, after install Rhino 6 i never tween any number despite Display Setting. It appears and i assume this, that Rhino 6 bring some how the Rhino 5 values to its options properties. I can not guarantee this at 100% but compared options to options between them, most of Rhino 6 setting are exactly like R5.
… After this morning working, i enable 512MB for undos. It gave me more 10 undos but still nothing competes with Rhino 5. It seems in R5 i can do undos till forever back when i start working on file.

This is not how it works though. The amount used is the total - it can be eaten up in one step if you make one small change on a massive mesh or it can be 50 steps if you move control points on a simple curve or add lines etc. The point is there is no way to know how many steps makes sense, ahead of time, but it makes perfect sense to limit the amount of memory available, ahead of time.

-Pascal

As long as I understand, each undo step saves an alternative copy of the modified object(s). Is that correct? Is not it possible to tell Rhino to keep in the memory only that portion of the 3d model(s) that was modified, excluding the rest surfaces or mesh polygons that were leaved intact? I imagine that this approach could unload a massive amount of memory and make Rhino much more stable, especialy when working with mesh models with millions of polygons or polysurfaces consisting hundreds or thousands of surfaces.

No it would not. How long of a chain of modifications-only do you save before you just save a new copy of the whole thing? How brittle is that? The answer of course is very brittle. What sort of operations would make it practically impossible to track sub-object-level modifications only? The answer of course is lots of them, otherwise Rhino would be Solidworks. And the way Undo works now, anyone can write a chessy little Python or VBscript or a macro or plug-in and UNDO/REDO WORK, as Rhino handles it without having to “know” anything beyond what objects get modified/added/removed.

I’m not a programmer, so I don’t know how things work exactly in this regard. However, 3DS Max, for example, could handle a huge number of undos while working with mesh models with millions of polygons, and it will not slowdown at all. No idea what approach they use, though.

1 Like

That is an example…