godot
godot copied to clipboard
slowdown with multiple objects while, other engine remain stable if they are not selected in 3d
Godot version
godot 4 Rc2
System information
Windows 11 Vulkan Amd Integrated graphics card TM driver: vega 3 8GB Ram
Issue description
It happens that godot is rendering everything or most of it while other engines like unity or unreal keeps it stable till you try moving it, at that point the fps are much slower, while in godot they don't see that big falldown. Note that this is with the default sethings, except unreal where it had to be low sethings
as you can see while godot has bad fps, unreal is hanging just more or less well, i doubt that nanite is doing something, because it an IGPU and the ssd is not good,
And when i try to move for example 1k of that spheres godot fps remain more or less the same while unreal fps suddenly drops.
And with unity the fps are 40-30 till you move them too, (i will do some screenshot or video on weekend, i can't use the pc rn. ).
Maybe as @RandomShaper said on twitter it could be some gui feature where it makes the meshes inactive or something like that, or rendering batching.
Steps to reproduce
1 Open the MRP
2 Select as many objects till the fps are slow
3 Try moving them
Minimal reproduction project
https://github.com/Saul2022/godot_unoficial_perfomance_test/tree/main/Nuevo%20Proyecto%20de%20Juego2
it my first issue, so sorry if it not good quality.
Is the bug just that performance is 2X slower than Unreal in this case?
The Forward Mobile rendering method is expected to be slower when rendering lots of objects compared to Forward+.
In general, Godot does not distinguish between static and dynamic geometry for culling or shadow rendering. This could be done in the future but it'll require additional setup on the users' end, as the engine cannot guess whether an object will be moved at some point during gameplay. See also https://github.com/godotengine/godot-proposals/issues/4635.
Is the bug just that performance is 2X slower than Unreal in this case?
It more that when nothing is selected godot performs way worst than other engine like unity or unreal.
The Forward Mobile rendering method is expected to be slower when rendering lots of objects compared to Forward+.
well forward+ is kind of the same case
In general, Godot does not distinguish between static and dynamic geometry for culling or shadow rendering. This could be done in the future but it'll require additional setup on the users' end, as the engine cannot guess whether an object will be moved at some point during gameplay. See also godotengine/godot-proposals#4635.
Prob might be the issue, although not sure if it has or not as unreal or unity does that by default.
Update: Not sure if this may be the issue of this going on https://godotengine.org/article/godot-40-optimization-progress-report/ it may be as it not optimized, but i don't know if it is or not
Maybe the BVH couldn't be updated.