bevyengine / bevyengine/bevy

Way to disable renderer for specific window.

Open
#15,278 0 comments 0 reactions 0 assignees View on GitHub
A-Rendering A-Windowing C-Feature S-Needs-Design
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.