Way to disable renderer for specific window.
- Dominant language
- Rust
- Stars
- 48.2k
- Forks
- 4.8k
- Avg merge
- 3d 22h
- Merged PRs (30d)
- 161
Description
I want to use a different renderer for my game instead of bevy, but still have other debug windows using the bevy renderer.
As such, I'd like there to be a convenient way to prevent bevy_render from running `present` or doing anything with one of the windows created by `bevy_winit` (as because of the structure of winit, it'd be somewhat difficult to manually spawn a separate window and have its event loop work with the bevy ecs). Without this, I have a lot of frame flickering since my swapchain ends up conflicting.
I have also been able to do this by running `commands.entity(window_entity).remove_component::()`, but this is dependent on internals.
Alternatively, I suppose I could figure out how to do interop between the graphics apis and bind it to a wgpu texture, but that seems complicated.
Contributor guide
Research direction
Start by tracing how bevy_render runs present for windows created by bevy_winit, including the RawHandleWrapper path mentioned in the issue. Done means one selected window can avoid Bevy's renderer while other debug windows continue using it, without relying on internals or causing swapchain frame flickering.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- computer-graphics, game-dev
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100