I've been struggling for some time now with dealing with large blender files, full of lots of objects (which are clones of the same original object, think an atomic crystal). An example file I've just loaded up has:
- 2.05GB of disk space
- 8.3GB of memory
- 10,413 objects
- 50,791,104 Tris
- 26,360,256 Faces
- 25,416,374 Verts
I have 32 GB of system memory (so I'm not capping that), and commonly my CPU (Ryzen 3600) is only using ~ 12% of it's potential, according to task manager. I'm using the CPU to run cycles, over my GPU (RTX 2060 Super).
The specifics: When I try to perform group functions, such as selecting a large amount of objects and pushing "G" to translate, there's a large amount of time taken before Blender becomes responsive (ie, selection is highlighted white, and is responsive to mouse movement for translation). It's by no means capping my resources, and I'm pretty sure Blender knows that I have 12 threads (6 cores). It's the same with switching between large files (and trust me, the disk isn't bottlenecked, I'm using an NvME M.2 SSD and it loads 2G in a second) although starting blender fresh for an existing file seems to load relatively quickly.
I have also dabbled in the scripting side of blender, and been using efficient code such as described here, but I wouldn't have thought the ops version of transform for the front end would have been that intensive...
Questions: What can I do to speed up Blender? What are common things I should have checked in settings, how can I perform actions efficiently? Is ops transform too inefficient to use for large numbers of objects?