"Ctrl + Z" in Blender is taking forever

Hey, what’up guys?

My “Ctrl+Z” in Blender is taking forever, I have to wait for several seconds until the undo occurs.

In simple scenes that doesn’t happen, but in complex scenes, not that heavy but somehow complex, about 400k, 500k vertices, it starts to get really annoying.

Do you guys know why is this happening?

I’m using Blender 2.79
Windows 10
I3 3,8 Ghz
GTX 960 4gb
RAM 4gb

3 Likes

There could be a variety of reasons causing lag.
Blender does have to load the change into the scene, which may take a little time for a large scene. Do you find lag when doing other edits (other than undo)?
Also, are there any background processes going on?

No background processes besides antivirus, chrome, etc…
Blender has always been a bit laggy in reeeally complex scenes, but undo is the one that is causing trouble…

I went searching around on the internet and found this: https://blender.stackexchange.com/questions/89659/blender-global-undo-is-very-slow-on-complex-scenes

It appears Blender saves the changes temporarially somewhere, and has to take a bit of time to retrieve it. Larger scenes mean slower times.

Thanks!
Well… Looks like there’s no way around it :frowning:

Blender reloads the whole scene when you UNDO, so if it’s a big scene it will take as long as it needs to load the WHOLE scene.

There is good news by the way, Campbell has rewritten the undo system for 2.8 so it might get much better, who knows.

2 Likes

Got the same problem here. Not a really big scene, only 200 thousand verts, but it has a lot of fine detail. What I did find is that if I select one or two of the objects in my scene and then press the / key it isolates the selected objects into their own scene and then ctrl + z works a lot faster. Pressing the / key again to go back to the main scene can take a bit of time, but for me it’s worth it.

I am not sure what this key is called / On my keyboard it is on the numpad next to the Num Lock key.

1 Like

Charbeinicolas - Oh, i’m glad to know that, can’t wait to put my hands on 2.8
Caz747 - I’ll give a try, thanks for the tip!

One workaround solution I would consider is copying the portion of your model that you want to edit/sculpt and paste it into a new Blend file. Do your edits there. The CTL+Z works faster. Once you’re finished, re-import your model back into the bigger scene. Now, this will not solve the issue with lighting, material, and rendering setup but if you’re like me and you just want to undo something really quick while editing, this is my way around it. And trust me, I know we’re all fast at modeling in Blender and we do not have time to wait on a ‘UNDO’ command beyond 2 seconds…am I right?

Happy modeling!

2 Likes

Yeah, i’m using blender 2.8 since december of last year and the problem still persists. :frowning:

I mostly work with archviz, so most of my time are spend in shading, rendering, lightning, adding assets, I constantly work with the whole scene, not one model here and there, so that doesn’t work that good.

I’m yet to find a solution for this.

It sounds similar to an issue I’m having with performance in certain circumstances. Are you using and subdivision surface modifiers on objects with ngons/faces with more than four edges?

Yes Gabriel! I think John has an idea here. Those nasty ngons have the tendency to slow everyone down. I just did a test on that and with modifiers. It does seem to slow down the undo process compared to without it. Now, if you work with another program, there might be another issue. Maybe to many faces?

Even though, in 2.79, I never experienced this lag time in any models or imports for that matter. Perhaps this is just a bug that the foundation is trying to resolve. Ton Roosendaal, if you can hear us, hopefully you know of this bug?

If anyone else has any idea how to resolve this, let us know.

I have managed to control the issue by removing ngons but I hope this issue with subdivision can be fixed soon. There are a number of bug reports covering it.

1 Like

So if you don’t have NGons and have a subD mod, undo is faster ?

This undo lag is what kills me currently with 2.8. Really pushes me away from using it for dense geo. :cold_sweat::cold_sweat:. 3ds Max has 0 issues. But I know works very different. If the NGon thing really can solve it. That’s interesting.

Although. Yesterday I tried the most up to date 2.8 win 64 build. SudDividing a cube to like 5 million faces, it had 5 second undo lag. Not sure is a way around that… ? Unless can turn off subD mod and undo but that may take just as long, since it will turn it back on…

1 Like

I tested this quick example: Created a circle with 128 vertices, extruded it into a cylinder, added supporting loops top and bottom, then inset the ends a bit followed by F to create one large, flat circular ngon cap on each end. Moving it is fine. Doing an undo after moving it takes 19 seconds including the busy mouse pointer. Nothing else in the scene apart from one lamp and the camera. No other objects. No materials or textures. Just the cylinder with a level 2 subdivision surface modifier turned on. It slows down other operations as well but undo is the most irritating.

If I triangulate the ngon faces (or do a grid fill as shown - or any other thing that uses quad or tri geometry) then the undo is far all intents and purposes “instant”.

Splitting each giant ngon into 4 brings the undo down to under 3 seconds. Each quarter is a ngon with 34 verts instead of 128.

I am guilty of using ngons in this lazy way normally. My thoughts were that as long as they were flat and causing no shading/normal issues there were fine - especially for capping cylinders and the like. I hope they find a fix for this, but it has made me start to change my ways. At least now I know why performance can get brutally slow.

2 Likes

An even simpler example is just to create a circle with a high vertex count like 256. Doing that, then jumping into Edit mode and hitting F gives me a circular ngon with 256 verts. When I do that and hit Ctrl+2 (back in Object mode) to add a level 2 Subdivision Surface modifier it takes around 30 seconds to turn on and give me back control.

I move it. I then press Ctrl+Z. It takes over 30 seconds to complete the undo operation.

If I delete the offending face and run a Grid Fill operation I end up with all quads and a total of 4225 verts rather than 256. Undo is instant.

When I discovered this was what was causing issues on an object I’d been working on it was fairly easy to clean up using the Select>By Trait>Faces by Sides command as setting it to greater than 4 to hunt down the ngons. I didn’t have anything as ridiculous as my examples, but my feeling is that they are somewhat cumulative in effect.

2 Likes

Very interesting…!

Although… if you just take a cube, add Multi-Res mod, and subDivide to like 5 million Tris, then move and undo… its like 3-5 second lag yet… which is very bad/weird. It seems like Undo is almost instant in Edit mode, but super laggy otherwise, which feels backwards to me… Max is like opposite that as well.

Also I imported a 5-10 million poly FBX, and it took like 5-10 min, which is sorta crazy.
I think Keyshot can do it in like 30 seconds or something, and max is definitely not 5-10 min as well.

1 Trick I guess is to turn OFF SubD display in viewport, then Undo. Or rather, turn it off, move it, then can undo more instant, but that’s still not a great thing to have to do…

I saw this on a closed bug… which is probably the same response I’d get, if I file a bug… but I could try…
Still seems like a pretty high priority IMO, to not be able to undo without very noticeable lag/basically having to reload ALL scene objects/re-eval everything…

Sergey Sharybin (sergey) claimed this task.

Undo equals to file open, leading to all objects to be updated from scratch. Depending on the complexity of the model and modifiers you’re using on it it might indeed give noticeable lags. Wouldn’t call it a bug, just known behavior. There are ways to improve the behavior here, but those are rather TODO…

A bug being closed doesn’t mean the issue is being ignored. Duplicate stuff gets merged or closed.

1 Like

https://developer.blender.org/T59833