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

Calling popup menu in fullscreen mode make flickering on the screen (DisplayServer regression) #44997

Closed
Chaosus opened this issue Jan 7, 2021 · 9 comments

Comments

@Chaosus
Copy link
Member

Chaosus commented Jan 7, 2021

Godot version:
f1832a6

OS/device including version:
Win10/GTX1060

Issue description:
Clicking(especially frequent) on these buttons which called popup menus
image will cause the whole screen flickering with dark flash.

Steps to reproduce:
Simply run the empty project, toggle fullscreen (Shift+F11), and try to use the buttons showed above.

Single Window Mode should be disabled (of course).

Minimal reproduction project:
It's not recordable with ScreenToGIF unfortunately.

@Calinou Calinou added this to the 4.0 milestone Jan 7, 2021
@Calinou Calinou changed the title Calling popup menu in fullscreen mode make flickering on the screen Calling popup menu in fullscreen mode make flickering on the screen (DisplayServer regression) Jan 7, 2021
@Calinou
Copy link
Member

Calinou commented Jan 7, 2021

It's not recordable with ScreenToGIF unfortunately.

You could record your screen using your phone 😛

@Chaosus
Copy link
Member Author

Chaosus commented Jan 7, 2021

You could record your screen using your phone

It's unprofessionally 😛 but ok - https://drive.google.com/file/d/1RyWLsCaUC53o7dFY3Kt784x45E54iiyB/view?usp=sharing (too lazy now to push it on youtube)

@EricEzaM
Copy link
Contributor

EricEzaM commented Jan 7, 2021

Pretty sure you can attach videos directly to github posts now.

Ps to access the file on drive, I need to request access. Need to make it public

@Chaosus
Copy link
Member Author

Chaosus commented Jan 8, 2021

VID_20210107_220735.mp4

@akien-mga
Copy link
Member

Is that a recent regression?

@Chaosus
Copy link
Member Author

Chaosus commented Jan 8, 2021

At 41e9028 the pressing these buttons in fullscreen leads to editor window become invisible (which is fixed by 8a2bc6b) so I guess its exist at the point where Juan separated display server (10 months ago). But need to test for sure.

Also found an interesting topic about possible fixing it: glfw/glfw#527

@Chaosus
Copy link
Member Author

Chaosus commented Jan 8, 2021

After some experimenting I found 2 ways to solve this problem:

  1. Append 1 pixel to the height of the window which enters fullscreen mode. The downside of this - the client rect will be changed and this may alter the content.
  2. Change WS_POPUP to WS_CHILD for borderless windows. The downside of this is child windows behaved differently than popups - for example, their positions and event processing needs to be modified. They don't close automatically if the users changed window focus.

@Chaosus
Copy link
Member Author

Chaosus commented Jan 8, 2021

  • It's not only the editor problem - apps will be affected too (if the Embed subwindows is disabled in the project settings)
  • I think it's not a regression - it affects multi-windows that do not exist prior to 4.0 and now I think this bug exists from the beginning of its implementation (need to gather the strength to revert it back for check).

@Chaosus
Copy link
Member Author

Chaosus commented Feb 8, 2022

This issue seems fixed by #54645

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants