I’m working on a personal project and recently noticed while adding things to the shot that when I start a render (f12, not the viewport) blender spikes in system ram usage going up to 26-27GB(maxing out my system basicaly), while the scene actually takes around 6-7 in my GPU. Turning off particles lowers th usage of VRam but does nothing to mitigate the system ram usage. Same goes for using the simplify settings, lowering texture res and subdivs etc. The scene (in my opinion) is not large - around 5mil poligons and 20-25 4k textures.
The spike happens while synchronizing objects and sometimes crashes blender, sometimes it manages to go through but quite slow.
This doesnt happen when viewport rendering at all.
I’m using blender 4.0
Win 10
i7-5820k
32GB ddr4
RTX3090
can’t explain your issue (and maybe it’s normal ) but if you have an issue rendering such a scene you can render it in command line. this way you don’t have blender UI and with the scene Loaded using a considerable amount of ram already. and have to take more for the render. https://docs.blender.org/manual/en/latest/advanced/command_line/render.html
you said going up to 26-27GB from where? how much RAM was blender using already before hitting F12?
Watch out for subdivision modifiers that have different level in render than viewport! (maybe some were accidentally pushed to a very high level for rendering)
https://drive.google.com/file/d/16n0-B6CJ3YnVfq9_xooMkFVr8dngMuOx/view?usp=sharing Here’s a screen recording of what happens when I use the viewport render and then hit f12. Here I’ve turned off a hair particle system(it’s hidden in the fiewport, I only toggle the render switch) to make sure the thing renders There are some objects with displacement in here. regardless if I turn off or on, the same thing happens.
indeed that looks like a big jump (but if it it’s needed is needed)
so the only difference between viewport and render is the hair? (if you disable the hair for render too do you get the RAM spike?)
is the displacement with adaptive subdivision?
ok, the particles in this case are disabled for both, sorry I didn’t make this clear(with them enabled, blender just crashes when hitting f12). The displacement is adaptive subdiv on a few fabrics. the spike in memory happens regarless if I have the displacement enabled or disabled. Also Is there any way to troubleshoot this myself?
ok.
what is the object plane.004 and what’s in it’s modifier stack?
when you say displacement is disabled. how d o you disabled it. unhook the displacement node? => the adaptive subdiv is still on as a modifer
adaptive subdiv have different parameters for preview and render
and as you can see it uses final image scale in px, so even the render image size will influence the level of subdivision
do you have particle system on an object that have adaptive subdivisions? (if so, i recommend you place the particle before the subd)
Edit: just saw your question about troubleshooting yourself:
start blender with --debug --debug-cycles flag in a command line and it will give you more info
yes, I uncheck the “adaptive subdiv” checkbox on all the models that had dispalcement and switched the displacement to “bump only” in the material settings. The object plane.004 has a solidify modifier, a displacement modifier, a bevel and weighted normals. it has a total of 3120 verticies and is a piece of the floorboards. I have no idea why it loads so slow, because I have a few other pieces with the same modifier stack and a lot more verts. I will try the --debig and --debug-cycles flags and share the results a bit later. by the way, thanks for the help!
@oo_1942 could be, I should just test it without them, see what happens
edit : ok, just tested it, deleted the objects, cleaned up unused/recursive blocks - same thing, it just “slows down” on another object now but i still spikes the memory to around 25gb for a few seconds.
if you unchecked all the adaptive subdives that’s weird.
to be able to use adaptive subdiv you have to switch cycles to experimental
now give it a try with supported since adaptive subdiv is disabled anyway
I asked about plane.004 but i suspect more the object after it in my experience (just didn’t know how to request info in a simple way) if you render in command line you will able to see the full list in it’s order and focus on the object after the one that stays longer. think of it like it displays the object that was done with
Tried with supported, not much of a difference. rendering from the command line has the same memory spike, except it saves me the 2GB that the interface used.
I’m really not getting where all that memory goes to, but I guess there isn’t much I can do at this point. other than just download more ram
My last effort would be to just start bringing objects into an empty scene and see where the spike comes from.
i doubt any issue about table. my thinking is at that moment it hit almost max Ram, and the OS intervened and started swaping hence the delay (freeze) and the memory loss in physical RAM if he add the the VIRTUAL MEMORY tab and loss there it means blender didn’t free any memory
the log you sent didn’t have a syn of plane.004 (i guess you deleted it)
what was the slow one in this log (after deleting plane.004)?
and wait first pixel line don’t show much ram usage at that point:
Fra:1 Mem:7299.51M (Peak 7845.26M) | Time:01:13.23 | Remaining:01:20:57.00 | Mem:4747.04M, Peak:4747.04M | Scene, ViewLayer | Rendered 0/4 Tiles, Sample 1/4096
around 8gb. right? it was actually 4gb before cycles kick in
appending separate parts in new scene can help you eliminate yeah!
yes, I deleted that object just for the test. The log doesn’t show any RAM usage, but looking at the system monitor it is still there(this time the command prompt window was taking all that memory), which confuses me. I will try out appending separate parts to an empty scene and report later.
BKE_modifier_set_error: Object: “XXX.XXX”, Modifier: “WeightedNormal”, Enable ‘Auto Smooth’ in Object Data Properties
I’m concerned about this. If Auto Smooth, which used to work as a default before blender 3.6, was added as a modifier from blender 4.0, I use the Geometry node.
I think you can test the scene in the blender 3.6.X version and compare it.
※ If you use the blender3.6.X.zip file, there is no installation process. You can use it after decompressing it
Alternatively, you can test GPU Subdivision after you disable it in your configuration.
(Sometimes this setting is causing problems. However, the association of the current problem is unknown.)
So, I decided to do some quicker testing - here is what i did
removed all subdiv modifiers ( i had quite a lot that are set to 0 or 1 for viewport and 2 for render) that lowered the memory consumption a bit, but there was still a very visible spike.
removed all materials and textures - once again lowered the memory consumption but i still got a spike around 20GB of ram usage for a second. so thats not it
finally I just selected everything and converted to mesh ( basicly applied all the modifiers and sudenly - no more memory spikes - quite interesting as I want to keep some things procedural. I’m not sure which modifier exactly is causing that spike - I have bevels(I use bevel weight for a lot of these), solidify and weighted normals used and subdiv, thats about it.
edit : OK, i think i found the culprit, a piece of weave furniture that I modeled and added a subsurf modifier to with the viewport levels set to 0 and the render to 2. without it everything works perfectly fine, once I enable the subsurf in the viewport - blender starts to eat a ton of memory.
I’m having pretty much the same issue. Seems like a memory leak. I don’t think this is fixable on a user level. I have a scene with a vehicle as the hero object and a quad plane for generating geo-scatter biome. The scene renders completely fine in the viewport render mode but can’t be rendered for export. I can hit F12, and the “Blender Render” window pops up. Nothing happens after that. There is no notification text or statistics in the top left corner, nothing shows up in the render window.
I’m working with 13700KF ROG4090Strix and 64GB of RAM. Blender took the entire 64GB after I hit F12. GPU usage stayed at 0% and not much load was happening on the CPU either. Blender basically makes my RAM explode for hitting F12.