-
-
Notifications
You must be signed in to change notification settings - Fork 21k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Not emitted particles affects performance #19507
Comments
Hi, Note that the particles are still computed by the CPU (dot is still spinning) but not sent to the GPU, and on my i5 4200M Godot uses less than 3% CPU with the 2 particles3D not emitting and less than 1% when emitting, so there still is something "not wrong but not good" somewhere... [EDIT] |
Asked @reduz about this on IRC, some comments:
|
@akien-mga : Tried that at first, in fact I completely cut the update_particles call (line 7403) but no result... undo EDIT |
+1. I noticed this issue as well recently. I had added an explosion particle effect (with delayed activation) to an object with a couple dozen instances in the scene and was wondering why the FPS had dropped a bit and stayed that way even after rebooting my system. In this case it's less about the total number of particles, as simply having about a hundred Particles nodes with only, say, 20 particles each, can potentially halve the FPS. Workaround is to make the particle nodes invisible inside the editor, and then come time to emit, run code similar to the following:
|
#19682 should have fixed this for Particles2D, if somebody wants to confirm; something similar likely needs to be done for 3D? |
Hi, Unfortunately yes, something else has to be done for 3D. It's like @kubecz3k wrote :
So yes 10000 or 100000 particles in 3D is not a common thing, but just imagine a final scene in a 3D game with 10 Particles3D emitting 500 particles each, and you have lag even before starting to emit... |
Fix #19507 Not emitted particles affects performance
Revert "Fix #19507 Not emitted particles affects performance"
Reopening as #19764 was reverted. |
…ne#19507) Do not add Particles to render list if not active (fixes godotengine#19507)
Godot version:
257d3c3
OS/device including version:
nvidia gtx 1060, Ubuntu 18.04
Issue description:
I recently tried to find out why I have such performance problems in my game and I have found an interesting thing. Particle 3D node seems to be processing/rendering even if it's not emitting any particles. It can affect performance heavily especially in the scenario when you have a lot of nodes on the screen which are holding some 'visibly rich' particle effects, that are meant to be used rarely (like hit/death effect)
Steps to reproduce:
Full:
Draw Passes
Particles material
asprocess material
Emitting
propertyQuick:
Minimal reproduction project:
NonEmittedParticlesPerformance.zip
The text was updated successfully, but these errors were encountered: