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

Fix Steam overlay flickering somehow #11957

Closed
wants to merge 1 commit into from
Closed

Conversation

SDesya74
Copy link
Contributor

@SDesya74 SDesya74 commented Feb 18, 2024

Objective

I've noticed that in Bevy versions since 0.12, the Steam overlay flickers a lot and doesn't let me use it properly.

Initially, I thought that the problem is in bevy_steamworks, or in steamworks itself, but it turns out that the error appears only in the last two versions of Bevy, independent of steamworks. The steps to reproduce the flicker are described here.

Solution

After going through Bevy commits between 0.11 and 0.12, I found the problematic commit and fixed the flickering problem by poking around.

I have no idea why it didn't work before and why it works now, but hopefully we'll figure it out here

@alice-i-cecile
Copy link
Member

Spooky. Thanks for isolating this.

@JMS55 JMS55 added C-Bug An unexpected or incorrect behavior A-Rendering Drawing game state to the screen labels Feb 18, 2024
@james7132
Copy link
Member

@SDesya74 can you provide the commit you bisected to? The blame is not pointing to the PR that introduced that particular change.

@SDesya74
Copy link
Contributor Author

SDesya74 commented Feb 19, 2024

@james7132

401b2e7

@mockersf
Copy link
Member

the idea to block on native was to reduce the amount of "empty frames" we had with the window being created before we Bevy was ready to render

@james7132
Copy link
Member

the idea to block on native was to reduce the amount of "empty frames" we had with the window being created before we Bevy was ready to render

Is it possible to delay window creation until we have something to present? Not too familiar with this part of the codebase.

@mockersf
Copy link
Member

the idea to block on native was to reduce the amount of "empty frames" we had with the window being created before we Bevy was ready to render

Is it possible to delay window creation until we have something to present? Not too familiar with this part of the codebase.

Maybe, but then you would have to run the main app and the render app (except the present systems) at least once before the first window creation

@james7132
Copy link
Member

This was partially fixed on bevy_steamwork's side by requiring the Steamworks plugin to be initialized before wgpu (see HouraiTeahouse/bevy_steamworks#32). Closing this out for now as there is a workaround, but it'd be ideal to have something like #1255 to make this not mandatory.

@james7132 james7132 closed this Feb 26, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Rendering Drawing game state to the screen C-Bug An unexpected or incorrect behavior
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants