Tested versions
- Reproducible in 4.4 dev3, dev2 (and probably previous versions)
System information
Godot v4.4.dev3 - Artix Linux #1 SMP PREEMPT_DYNAMIC Wed, 02 Oct 2024 15:03:06 +0000 on Tty - X11 display driver, Multi-window, 1 monitor - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1050 Ti (nvidia; 560.35.03) - AMD Ryzen 5 2600 Six-Core Processor (12 threads)
Issue description
I was making a smoke grenade, so I went to use GPUParticles3D. I basically made quad meshes (backs are culled) with smoke textures, and with only 80 particles on-screen, the FPS tanks - a single GPUParticles3D!
So if a few smoke grenades are thrown, the game becomes unplayable.
Yet, this does not happen at the compatibility renderer. I made a MRP and benchmarked them with 3 trials each.
Single Smoke Grenade GPUParticles3D:
| Renderer |
Forward+ |
Compatibility |
| Lowest FPS |
63 |
201 |
| Lowest FPS |
73 |
206 |
| Lowest FPS |
74 |
218 |
2 Smoke Grenades GPUParticles3D:
| Renderer |
Forward+ |
Compatibility |
| Lowest FPS |
40 |
151 |
| Lowest FPS |
52 |
176 |
| Lowest FPS |
57 |
170 |

I think this issue is important as it addresses the "godot sucks at 3D, its performance is abysmal." complaint from users.
Steps to reproduce
Make any GPUParticles3D with quad mesh and make a practical effect, so it uses alpha/transparency.
Minimal reproduction project (MRP)
smoke-grenade-room.zip
Use arrow keys to zoom up (and WS if you want to move front/back)
Tested versions
System information
Godot v4.4.dev3 - Artix Linux #1 SMP PREEMPT_DYNAMIC Wed, 02 Oct 2024 15:03:06 +0000 on Tty - X11 display driver, Multi-window, 1 monitor - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1050 Ti (nvidia; 560.35.03) - AMD Ryzen 5 2600 Six-Core Processor (12 threads)
Issue description
I was making a smoke grenade, so I went to use
GPUParticles3D. I basically made quad meshes (backs are culled) with smoke textures, and with only 80 particles on-screen, the FPS tanks - a singleGPUParticles3D!So if a few smoke grenades are thrown, the game becomes unplayable.
Yet, this does not happen at the compatibility renderer. I made a MRP and benchmarked them with 3 trials each.
Single Smoke Grenade
GPUParticles3D:2 Smoke Grenades
GPUParticles3D:I think this issue is important as it addresses the "godot sucks at 3D, its performance is abysmal." complaint from users.
Steps to reproduce
Make any
GPUParticles3Dwith quad mesh and make a practical effect, so it uses alpha/transparency.Minimal reproduction project (MRP)
smoke-grenade-room.zip
Use arrow keys to zoom up (and WS if you want to move front/back)