godotengine / godot-proposals

Godot Improvement Proposals (GIPs)
MIT License
1.11k stars 69 forks source link

Add ability to pause all animated content within the editor (implemented in 3.5, not ported to `master` yet) #942

Open Zireael07 opened 4 years ago

Zireael07 commented 4 years ago

Describe the project you are working on: 3d open world game

Describe the problem or limitation you are having in your project: I have many particle emitters in the world. They have a noticeable effect on the in-editor FPS.

Describe the feature / enhancement and how it helps to overcome the problem or limitation: Pausing particle simulation in editor lets me work without FPS drops.

Describe how your proposal will work, with code, pseudocode, mockups, and/or diagrams: A button/switch in project/editor settings that pauses ALL animated content in editor.

If this enhancement will not be used often, can it be worked around with a few lines of script?: While this is possible by setting emitting to false on particles, it requires attaching a tool script to EVERY particle emitter. The bigger the project, the less feasible this gets.

Is there a reason why this should be core and not an add-on in the asset library?: How would an asset know what and when to pause? IIRC it needs core changes, plus assets can't add to project settings AFAIK.

Original issue: https://github.com/godotengine/godot/issues/16397

ETA: It seems that the animated sprites and tiles suffer from the same problem, and especially for tiles, the workaround would be very involved.

itsjavi commented 4 years ago

I would extend this to "any kind of animated content" in 2D or 3D.

Related:

https://github.com/godotengine/godot/issues/39758 https://github.com/godotengine/godot/pull/31070

chucklepie commented 4 years ago

Can this be updated to include animated tiles and animations using tres as the same thing happens. I raised ticket #1425 for this, but it was closed for 'duplicate' of this. Thanks.

Zireael07 commented 4 years ago

No problem, someone above you already mentioned this should refer to all animated content - I will update OP to make it clearer.

akien-mga commented 2 years ago

Implemented by https://github.com/godotengine/godot/pull/53463.

QbieShay commented 2 years ago

Was this implemented for 4.x?

Calinou commented 2 years ago

Was this implemented for 4.x?

No, https://github.com/godotengine/godot/pull/53463 hasn't been forward-ported to master yet.

QbieShay commented 2 years ago

reopening for 4.x

luislodosm commented 11 months ago

I agree. Currently, a simple particle system can have a very high demand on the GPU. I think the default behaviour could be:

QbieShay commented 11 months ago

@luislodosm i really need multiple particle system to play at the same time in editor in order to be able to create VFX. whatever the design of this feature, it shouldn't come at the cost of usability of everyone's VFX. You could have a toolscript that does that, if you have a need for this kind of feature.

Zireael07 commented 11 months ago

How does pausing animated content in editor hurt people's VFX?

Note this was already implemented in 3.5, too

DiMartino49 commented 1 month ago

Has this been implemented in godot 4.x?

Calinou commented 1 month ago

Has this been implemented in godot 4.x?

No, not yet.