-
-
Notifications
You must be signed in to change notification settings - Fork 21.5k
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
Instancing GPUParticles3D Causes Flashes Onscreen #71935
Comments
Related to #70546. |
I don't currently have the setup to build the engine myself. |
No problem, #71925 was just merged, so you can test again when Beta 15 releases in the next couple of days! |
Just tested it in v4.0.beta.custom_build [379d83dd5], which had #71925. The issue persisted. I am attempting another build with some of the newer commits (up to 70377), to verify that I didn't mess up something with git, but I'm pretty sure I did everything correctly. Edit: Yes, the issue persists in v4.0.beta.custom_build [1dfd236], up to #70377. |
The issue is not limited to just windows, also appearing on my laptop after I swapped it to Linux. I have added a note to the original issue. |
I'm experiencing the same thing with Godot_v4.0.1-stable_linux.x86_64 on Fedora 37. It's intermittent, but always happens a few times: godot-particle-flash-bug.mp4 |
I can confirm this on 4.0.1.stable (Linux, GeForce RTX 4090 with NVIDIA 525.89.02). Epilepsy warning: The videos below contain flashing. Default MRP settingssimplescreenrecorder-2023-03-29_19.07.11.mp4Interpolation disabled, Fixed FPS = 0 (use render FPS)simplescreenrecorder-2023-03-29_19.08.15.mp4Interpolation disabled, Fixed FPS = 1simplescreenrecorder-2023-03-29_19.08.28.mp4Preprocess = 0.25s (same as Lifetime)simplescreenrecorder-2023-03-29_19.08.46.mp4 |
I got a link to this bug after posting about this issue. I can confirm it is a bug in v4.0.2 . I will watch this bug report going forward, thanks Calinou for the link to this post! |
v4.1 dev 1 still has the issue, despite some of the other particle fixes. From the blog post: |
I hope this can be looked into further before v4.1 release, while it can be totally worked around and is only visually impacted, this bug really hurts the particle system as a whole in Godot Vulkan. |
What do you do to workaround this issue? |
Oh sorry, I meant it like I just deal with the issue and you can work around it being there, its not engine breaking or anything. It may not usable if you are prone to epileptic seizures though. |
I've had limited success through moving the rest of the game world away from the origin, but it's not a consistent or reliable fix. Sometimes the particles appear HUGE, and will therefore still cause flashes even if the level is a decent distance from the origin. Trying to move the level further can yield physics and rendering bugs as the floats get less precise. |
Godot 4.02, and 4.03 rc2: I forgot to mention I have this code, thinking it would help (it doesn't):
I also forgot to mention, each missile uses 400 particles. |
I found something that helps. Keep the emitting on, set the visible property to false. Set the preprocess to 0.1. I also set the visibility to false in the exit function. That way when the particles are instantiated, they are running but not visible, with the 0.1 preprocess buffer. Edit: I need to test more, but any of the things I mentioned could have helped, or all together. It doesn't make sense to have to set the visibility to false right before it's freed, so who knows. |
This looks to be an issue specifically when |
I can reproduce this bug with any draw_order setting. Maybe I'm wrong but I don't think this is exclusive for "view depth". |
@IvanIG3 You can reproduce the issue with all draw_order settings with the MRP from this issue, or in your own project? Edit: It looks like Z - billboard also causes the issue. So it isn't limited to only view depth |
@clayjohn I don't know how to do that. I made a MRP, extracted directly from my project. Could you test it? You only need to run the project and click the "play" button. The bug triggers 50% of the time. If it doesn't with a few clicks, then I think it's safe to say that the bug is fixed. Thanks! |
Godot version
v4.0.beta14.official [28a2463]
v4.0.1.stable.official [cacf499]
System information
Windows 11 22H2, Forward+, NVIDIA MX350 (528.02) and NVIDIA RTX2070 (517.00)
Ubuntu 22.04, Forward+, NVIDIA MX350 (525.85.05)
Issue description
Instancing a GPUParticles3D can cause colored flashes on screen. In some cases (such as the minimal reproduction project), the flashes are small, however in my other project I have seen them fill the screen. I am still unsure what causes the different sizes
These are some example correct frames from the minimal reproduction project (the effect is supposed to be a fireball.)
These are some example incorrect frames.
Steps to reproduce
Create two scenes, one with a GPUParticles3D, and one that instances those particles repeatedly, using a script. Flashes will occur on screen.
Minimal reproduction project
Particle Flash MRP.zip
Edit 1: Corrected driver version for my friend's computer.
Edit 2: Added note about the issue also appearing on Linux, and that the issue is still present in 4.0.1
Bugsquad edit (keywords for easier searching): flicker, flickering
The text was updated successfully, but these errors were encountered: