Decoupling app/logic loop from rendering #6648
-
Hi, I'm new Bevy. I am trying to control my loop via ScheduleRunnerPlugin by setting RunMode::Loop. Which works fine. But as soon as I load RenderPlugin, this doesn't work anymore when RunMode wait is lower than vsync time. This suggests that both rendering and logic are updated in the same loop and app update is waiting for rendering to be ready for the next frame. Is there any way to decouple app loop (input, physics, logic) from rendering? It seems to me these two should be mostly independent processes - rendering running on its own pace and only interacting with app loop as necessary when ready to pick up the last state, but otherwise not blocking the app updates. Any ideas on how to go about this appreciated. Thanks. |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 21 replies
-
This is "pipelined rendering" :) It's a complex matter, and something that the Bevy dev team is actively pursuing. Not exactly feasible as an end user, but fingers crossed we'll have this enabled by default in the next release. Follow the work here: #6503 |
Beta Was this translation helpful? Give feedback.
This is "pipelined rendering" :) It's a complex matter, and something that the Bevy dev team is actively pursuing. Not exactly feasible as an end user, but fingers crossed we'll have this enabled by default in the next release.
Follow the work here: #6503