Better performance for larger blend files
Blender haven't for a long time been able to handle larger production scenes with a lot of geometry very well due to lessened responsiveness in scene, mesh & node graph manipulation.
As a result its common for projects to be split up into several blend files and have its scene composition done in other softwares such as Unreal Engine, Unity or Houdini, alternatively utilizing multiple blend files & compositing techniques to layer several scenes together to create the final shot.
Now, although there have been some recent work on improving performance for larger blend files, the work that has been done is insufficient even for industry grade hardware to handle more complex environments and keep them responsive for editing. Its especially concerning that modeling, sculpting & node graph manipulation performance & responsiveness is severely affected by the file size of the .blend file or number of objects in the scene - and even more so by objects in scenes that are not even active.
Even for my personal work I find that I often need to create a new blend file every 2 days worth of work time to avoid severe slowdowns - and I dont even do scene compositing in Blender, I only make assets (albeit I do a lot of high poly assets meant for close-up rendering). And this is with a system with an i9-12900K, 32gbDDR4 & an RTX 2080 with my data hosted on nVME SSDs.
To objectively target areas of the editor that are especially unresponsive in larger blend files, I've written a naive yet empirical list of operations that are especially affected by the size of the blend file:
- Any edit mode operation on a singular or multitude of objects
- Sculpting on a singular or multitude of objects
- Creating new objects either by the "Duplicate Objects" operator or (seemingly) any of the operators available under the Shift+A "Add" menu (VIEW3D_MT_add). Duplicate linked operator is especially slow when theres a significant amount of objects using the same mesh-data block.
- Confirming transform operations in the viewport (such as grab, rotate & scale operators) result in a short viewport hitch
- Selecting, deleting, duplicating & creating nodes in any of the node editors
3 Comments
Hi, this is a common request and a known issue with the developers. This doesn't mean that the amazing devs are ignoring this, but every release we add stuff that makes it more useful when working with bigger scenes.
The main issue is that making systems fast doesn't happen overnight and requires many plans to align. Plans are already been made and discussed, also with the guidance of bigger studios.
My personal goal is to make blender interactive, independed of the amount of geometry. There are some boundaries to consider eventually and it would take multiple years but slowly we will get there.
Adding more priority to this wouldn't help that much as many different areas have to be aligned.
Aras [volunteer developer] recently did: Object: Speed up duplication of large selections by doing fewer collection syncs
and Speedup ID unique name assignment by tracking used names/basenames/suffixes
So duplicating object could be significantly faster in next version if at those timings are that what i thing they are 13.6 ->1.9s.
Few years ago, I saw that facebook was working on a way to make Blender handle a lot more geometry by using algorithms similar to those used in Clarisse, but I don't know if this is still a WIP or was abandoned.
Other than this, Blender will migrate from using OpenGL to using Vulkan. this should help a lot with performance when having large scenes.