Hi. I’m struggling with performance in my low-poly open world game and I need advice on how to properly organize a project with a high node count.
As you can see in the monitor, I have over 8,000 nodes, and this is causing significant “Process” spikes and high draw calls, i think.
I cannot use MultiMeshes because i need millimetric precision and individual collisions for objects like walls. I don’t know how to structure such a large amount of nodes efficiently to avoid this lag while keeping the level’s detail. I removed almost all the vegetation from the game, but it’s still the same.
Any tips on the best workflow to manage thousands of nodes in Godot 4 would be appreciated.
I recently switched to Godot, and I’m enjoying it, despite having this problem.
500 draw calls is not that much. You can use multi mesh instances for objects that look the same. This is only rendering and has nothing to do with collisions.
However the whole thing doesn’t look like a rendering bottleneck although it’s hard to say for sure without seeing the visual profiler chart. Looks more like you’re running too much script code per frame.
Post your visual profiler and cpu profiler charts. Enable script functions display for the latter.
The best workflow is not to have them. Nodes become a really annoying hindrance and a potential bottleneck (depending on type and whether they run scripts) after a certain count threshold. If you determine that node count is really your bottleneck, the alternative is to ditch the majority of them altogether and create things directly on Godot’s servers.
I’ll use MultiMesh for the grass. In the case of houses and static buildings, it’s possible to use it without “hardcoding”?
The only script I use is a simple one for character control.
Combine map zones together? Like Rockstar did with titles such as GTA? Maybe I’ll use that option.
Visual Profiler:
Unfortunately, I can’t upload any more images due to forum limitations. Profiler:
Processing time: ~10ms
Physics processing time: ~16ms
Everything else is below 1ms