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

Horrible Flickering when closing docks while embedded game is paused #101993

Closed
Robert-K opened this issue Jan 24, 2025 · 8 comments · Fixed by #102006
Closed

Horrible Flickering when closing docks while embedded game is paused #101993

Robert-K opened this issue Jan 24, 2025 · 8 comments · Fixed by #102006

Comments

@Robert-K
Copy link

Robert-K commented Jan 24, 2025

Tested versions

  • Reproducible in Godot 4.4 beta1

System information

🪟 Windows 11 - 🤖 Godot 4.4 beta1

Issue description

Closing a dock while the game is paused and embedded causes the screen to flicker pretty badly.

⚠️ Photosensitivity warning ⚠️
🎥 See screen recording:

20250124-1803-33.8125919.mp4

Steps to reproduce

Enable 'Embed Game on Next Play' in the Game tab.

  1. Run a game.
  2. Open a dock.
  3. Pause the game.
  4. Close the dock.
  5. Survive the flickering ⚠️🔦📸💥😵‍💫😵‍💫😵‍💫

Minimal reproduction project (MRP)

N/A

@Hilderin
Copy link
Contributor

Hilderin commented Jan 24, 2025

Thanks for reporting the issue.

I'm unfortunately not able to reproduce on my computer on Windows 11 with 4.4 Beta 1 or with the current master version.

Can you give us a little more information:

  • Are you using the Pause button on the right or the Suspend button on the left? Does the same issue happens in both pause mode?
    Image

  • Does the same flickering happens when you resize the dock area or the left or right dock while the game is paused?

  • Does the flickering happens in an empty project. If not, can you give us a MRP that reproduce the error?

  • Can you give us more details on your graphic card model?

  • Are you in Compatibility mode or Forward+?

@JekSun97
Copy link
Contributor

JekSun97 commented Jan 24, 2025

I assume it's the pause button, the one in the right corner, because I couldn't detect any other visual artifacts
https://github.com/user-attachments/assets/1acc2be0-b8ca-43d7-8bc2-b89d88357829

@Hilderin
Copy link
Contributor

Hilderin commented Jan 24, 2025

I still can't reproduce. It's weird that the embedded causes that. It seems a problem where Godot does not rerender in some situation because it's paused. Do you have the same artefacts if running not embedded, pause the game and try to resize the game window?

@Hilderin
Copy link
Contributor

I'm able to reproduce, but only in the Floating Window, not in embedded in the editor. Fun fact, the actefact are present for me even when not embedded at all. I guess this bug was there before the embedding but it was not very problematic because nobody tries to resize the game window while it's paused usually.

godot.windows.editor.x86_64_WyFPvlO81Y.mp4

@Robert-K
Copy link
Author

Can confirm it only happens with the top right pause button.
The dock has to be open before pausing. If the dock opens because of the pause action, the game properly resizes and there's no flickering.
The game size not updating while paused is somewhat expected, but the the flickering (when embedded) seems very undesireable.

Sorry, should've mentioned I'm on Compatability backend with an AMD Ryzen 6800U.

Hmmmm... wasn't able to get it to flicker in a fresh project. Neither on Forward+ nor Compatability... Might have something to do with redraws in my project. Tho I don't think I'm doing anything crazy there.

@Hilderin
Copy link
Contributor

Thanks for the info. It's definitively something with the redraw, but I don't think it's really some specific to your project. I think it will be difficult to fix Godot to force the rerender when the game is paused. I'm working on a workaround to hide the game and display a message when the game is embedded, paused and resized.

@Hilderin
Copy link
Contributor

@Robert-K
I pushed a potentiel fix for this issue. Can you test it on your computer and your project to be sure it really fixes the issue?
You can find the a built version at the bottom here: https://github.com/godotengine/godot/actions/runs/12960733287?pr=102006

@JekSun97
Copy link
Contributor

Thanks for the finished assembly! The artifacts I showed above have disappeared.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Immediate Blocker
Development

Successfully merging a pull request may close this issue.

4 participants