Will something be done about Blender's slow undo system?

Blender 2.79 and 2.8 are both so slow performing undo when you have a heavy scene (a few million polies). Blender 2.8 even crashes when performing undos. Its gotten to the point where I’m scared of undoing. In other programs like max and Maya, Ctrl Z responds immediately, regardless of scene complexity. In Blender, a few million faces is enough to make it suffer. How do studios who build massive scenes in Blender manage this?

11 Likes

+1
I work daily with Rhino and I can undo-redo nurbs operations at the speed of light.
Also a feedback system would be great to know the last undone operation, like: move vert, move face, select, edit mode, to keep track of what it’s (un)happening.

3 Likes

Hi, do you know the undo history in Edit menu or do I understand something wrong?

Cheers, mib

on large scene with several 100’s object and materials
yes it is darn sluggish

time to move to 2.8
the undo algo has been optimise and supposed to be way faster then in 2.79

do some testing and let us know how much faster it is

happy bl

Thanks for pointing that out. I didn’t noticed any improvement with 2.80 but the next time I will try to be more aware of what’s happening when undoing something.

There’s no difference. Blender 2.8 in its current state its actually worse. Pushing ctrl Z too many times will simply just crash Blender 2.8.

5 Likes

Hi @mib2berlin
I am trying to get used to the undo history but can’t really make it a habit. One factor is the need to bring out the menu every time I want to undo a step. Two clicks too much for a single undo/redo considering that often I need to undo-redo a couple of times to asses if a change is worth keeping. Is there a way to have the history inside a tab?

Totally agree, undoing is so damn slow even with smaller scenes :frowning:

3 Likes

+1. So much this.

Well, the next few months are all about optimizations and bug fixes, so we’ll see.

1 Like

It is really far from perfect and I don´t use undo very often.
First I would add a shortcut with right click at the menu item.
Not possible in a tab, may with some python magic to keep the popup open.

Cheers, mib

1 Like

I would imagine a 3d array of clusters, where in interactive and in the background blender keeps in memory only the cluster areas where we work and where it is displayed in the 3D view … and everything else is downloaded to disk in a cache …
of course to do this it takes a very fast loading and unloading IO …

I don’t know what I’m writing precisely … but the sense would be, by splitting a large scale, into so many smaller pieces, the small pieces would be very light to handle :))))

1 Like

Very slow here as well, it can take ten seconds or so for larger scenes. It has always been one of those bottlenecks in Blender. I just try to avoid undo as much as possible, and always use the undo history for going back more than one step.
And yes, having the undo history in a menu you always have to open up instead of a persistent panel in the toolbar, makes 2.8 even slower than 2.79…

2 Likes

I have been working in UE4 and importing entire environments into Blender so that I can make level gameplay plans etc. as it’s easier to bulk sort objects in the scene in Blender than Unreal. When I need to use undo in these scenes, it often takes a couple of seconds, sometimes more. The frustrating thing, is when only the selection, or mode changed.

I don’t know how Blender handles undo, but I heard it stores copies of the scene state, instead of using a system that stores only the operation and (where neccessary) the state of objects that have been modified. For some things, especially selection and mode changes, this kind of system seems extremely inefficient. Like I said, I don’t know what actually goes on under the hood, but when I undo a selection change, I expect it to be instant, even on a large scene.

I hope that some more time can be spent on improving undo performance before release, as it’s on of the areas, along with subsurf modifier that is currently excruciatingly slow for me :confused:

4 Likes

Same problem for undo and redo.
2.79 - less than 1 sec
2.8 - 4-5 sec

5 Likes

In 2.7.9 image

In 2.8.72 image

Why your data is different with the same model ?

Mine : 2 - 3 sec about image

GIF(1)

Good catch.

First of all you have to be aware that Blender 2.79 and 2.80 handle the Instancing in a different way, hence the different RAM usage.
See here:

Furthermore the slow undo system is a known bug.

Maybe you can set the undo steps to a lower number, this could speed it up a little.

Edit: Ninja edit

2 Likes

Aha~This is exactly point. Thanks.

Well. Maybe it will fix it , the same or better than 2.79, whatever version. I’m not concerned it.

They must fix Performance(Third) before UI design (First priority) and more functions dev (Second).

I’m thinking if the blender model import to UE4 or Unity3D, they handle the Instancing in a different way ?

I’m not test it , but i think they’re different way. right ?

Maybe different with Maya and C4D as the same .fbx file.

Interesting to see how fast is your undo.
Are you building your blender or is the main release?
Also are you running it from ssd or hhd?

I’m using May 23 version , not building myself.

Yes, running ssd with stata III, maybe NVMe M2 interface is more faster.

the model file and blender exe are placed the same D disk.

Maybe running slower with different disks( model file is placed E disk , blender exe is placed D disk or the model file is placed USB disk.

And Undo steps is 256. Memory just is 8GB, using old computer. :joy: