Severe slow downs in 'REDO' popup dialog for large files, is it normal?

I did not notice this issue until recently. I also did a comparison between my current project(300MB) and a default startup project. Default project had absolutely no delays or tiny freezes.

I could not understand this very well, is this normal?

And if it is normal, why is undoing/redoing a translate operation(or any operation) on even a single object would cause such amount of delay or mini-freeze? I assumed doing undo/redos involving lots of objects would be slow, but can’t wrap my brains over why it is the case for a single object… Unless Blender does its undo/redos by somehow iterating through all objects in the file?

It’s just a bit annoying after all. But I’m curious to know what’s really happening if anyone with the knowledge would like to share. I will definitely appreciate it.

when you redo scene it does everything as I know of
so big file means delay !

but could reduce it by disabling history recording !

happy bl

… but, okay.

And, turning off ‘Global Undo’ also prevented me from calling any operator redo popup. --Edit: Actually, I can call the redo popup, and the popup shows up. But everything is greyed out. I’m not able to make changes.

Edit2: Reducing undo ‘Steps’ does not help either. Lowering the ‘Memory Limit’ also doesn’t seem to have any effect.

Edit3: Moving all dense objects into another scene has made my current scene much more responsive. I was expecting the ‘Layers’ to function similarly, but seems like ‘Layers’ only affect visibilities.

Edit4: Having only one object in a layer does reduce the delay marginally. But compare to a new scene, it’s still significantly slow.

So, when the undo/redo happens, the scene is reset to a previous state. Is there a way to customize the ‘UNDO’ behaviour of an operator?

when you turn off history you do loose some flexibility but it is faster!

another way might be to split objects on different layers and turn on only needed layers

hope it helps
happy bl

See ‘Edit3’ in my previous reply. The delay happens as long as all objects are in the same scene, regardless of what is actually visible.

Edit4: Having only one object in a layer does reduce the delay marginally. But compare to a new scene, it’s still significantly slow.

how many objects and modifiers do you have ?

if more then a few thousands then blender is known to become sluggish !

happy bl

did you save as compress too ?

happy bl

This is normal, because much of the global undo system in Blender is just a hack that creates a copy of the .blend file for each step (a copy which may or may not be stripped down to avoid overwhelming increases in RAM usage).

Improvements to this system get committed every now and then, but there hasn’t been an effort to seriously overhaul it since its inception back in Blender 2.35 (which was more than ten years ago).

No I don’t. Just checked, option was not ON.

Around 152 objects. 7m in triangles. Taking up 1013MB of RAM.

My project became sluggish even in a new scene now, I have no clue what’s going on.

This make sense… I really wish there is a way to override/hard code the ‘UNDO’ behaviour of the bpy.types.Operators instead of using blender’s default method.

7 millions verts
that is very high for blender and it will be sluggish !

get a crey computer LOL

happy bl

I have a 3770K, a GTX 970 and 16GB of ram. What should I get?

I looked over at 7700K and it would give me 30% of effective CPU power boost according to UserBench.com whilst a GTX 1080 is not likely going to affect how fast the UNDO happens… Being thinking about Ryzen, but after all Blender itself doesn’t seem to use much of the multi-cores, and I don’t do much CPU rendering.

Plus a new CPU means I need new RAM and MOBO. Can’t find a upgrade that’s worth it.