Skip to content
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

Vulkan GPUParticles3D related error spam with multithreaded renderer #54964

Closed
Tracked by #61067
briansemrau opened this issue Nov 14, 2021 · 4 comments · Fixed by #76859
Closed
Tracked by #61067

Vulkan GPUParticles3D related error spam with multithreaded renderer #54964

briansemrau opened this issue Nov 14, 2021 · 4 comments · Fixed by #76859

Comments

@briansemrau
Copy link
Contributor

Godot version

4.0.dev (19571c9)

System information

W10, Vulkan, RTX2060

Issue description

When using GPUParticles3D in a scene with driver/threads/thread_model=2 (Multithreaded render mode), this error is printed repeatedly:

E 0:00:07:0555   RendererStorageRD::particles_is_inactive: This function should never be used with threaded rendering, as it stalls the renderer.
  <C++ Error>    Condition "RenderingServerGlobals::threaded" is true. Returning: false
  <C++ Source>   servers\rendering\renderer_rd\renderer_storage_rd.cpp:5697 @ RendererStorageRD::particles_is_inactive()

The only place this could be called every frame is here:

if (RSG::storage->particles_is_inactive(idata.base_rid)) {

Steps to reproduce

Create a 3D scene with GPUParticles3D set up.
Enable multithreaded rendering mode.
Run project, see errors.

Minimal reproduction project

No response

@nonchip
Copy link

nonchip commented Aug 26, 2022

same for 2D by the way.

@clayjohn clayjohn modified the milestones: 4.0, 4.x Feb 23, 2023
@RichardR01
Copy link

This is still an issue, when rendering is set to multithreaded. It still works, but I don't appreciate the thousands of errors spammed in the debugger.

E 0:00:04:0714   particles_get_emitting: This function should never be used with threaded rendering, as it stalls the renderer.
  <C++ Error>    Condition "RenderingServerGlobals::threaded" is true. Returning: false
  <C++ Source>   servers/rendering/renderer_rd/storage_rd/particles_storage.cpp:265 @ particles_get_emitting()

E 0:00:04:0913   particles_is_inactive: This function should never be used with threaded rendering, as it stalls the renderer.
  <C++ Error>    Condition "RenderingServerGlobals::threaded" is true. Returning: false
  <C++ Source>   servers/rendering/renderer_rd/storage_rd/particles_storage.cpp:1541 @ particles_is_inactive()

@infohub-gather
Copy link

Exact same behaviour as @RichardR01 , get a massive spam, don't think it was there in earlier versions if I recall.

@clayjohn
Copy link
Member

This issue will be fixed by #76859

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment