-
-
Notifications
You must be signed in to change notification settings - Fork 978
Dynamic switching between exclusive and managed full screen mode #4678
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
base: master
Are you sure you want to change the base?
Dynamic switching between exclusive and managed full screen mode #4678
Conversation
…sive_and_managed_full-screen_mode
|
Great PR! Please pay attention to the following items before merging: Files matching
This is an automatically generated QA checklist based on modified files. |
|
The change to |
The change looks quite hacky. Do you actually get any tangible benefits from this mode? |
I'd rather have this filled... |
|
This PR addresses the same issue as #2619. It resolves issues #2166, #2472, and #2484. It's again Windows on an Intel UHD 620. Here, you tested the issue and asked how it works. I don't know the exact details either, but in my opinion, the number of buffers used is irrelevant to this problem. The
Ja! It's strange, at the very least. I even find it ugly.
|
How much faster? |
on my hardware. |
What about BPS without patch? |
This pull request provides an alternative to |
|
So basically, this PR makes it possible to switch between different broken states: one blinking, another 25% slower. Have you tried reaching out to Intel? Maybe they could provide a real fix for their drivers (they might not even know of the blinking problem). No other vendor has this blinking problem, neither should Intel. |
|
I wonder if we can, instead of all this hackery, just force the tooltips to be parts of the scene, just as most of the other dialogs. |
That would be an elegant solution to the problem. I've noticed something else: Sometimes there's no mouse pointer in exclusive fullscreen mode, but the mouse works when you use it blindly. |
|
That's a very old FAQ. Do you have some software cursor enabled like "mouse trail"? |
|
I have two practically identical laptops; all the software is essentially cloned. On one computer, the mouse cursor disappears, but not on the other... I can confirm that the problem with the mouse pointer is related to the mouse trail. |
|
Apparently, it is possible to have scene-based tooltips. For this |
|
Note that the default tooltips have some special features like animation of one tooltip position into another when moving cursor from one control to another (instead of disappearing and appearing in the new place), as well as fade-in and fade-out effect (at least under KWin, and we have similar animations for screen buttons). These shouldn't be lost when the custom tooltips are implemented. But of course, a proof of concept could ignore these. |
On many Intel GPUs under Windows, when in full-screen mode, opening of a popup window for the tooltip by QToolTip switches the screen from exclusive full screen mode to a managed one, which results in flicker. This patch instead shows the tooltip as a QGraphicsScene item, which avoids creating of a separate window.
|
I've made a proof of concept for the in-scene tooltips, see #4704. |
…etween_exclusive_and_managed_full-screen_mode
…tching_between_exclusive_and_managed_full-screen_mode
|
#4704 looks promising. I've restored the original tooltips in managed fullscreen mode for debugging purposes, for easier comparison. |
…etween_exclusive_and_managed_full-screen_mode
…etween_exclusive_and_managed_full-screen_mode
…etween_exclusive_and_managed_full-screen_mode
…etween_exclusive_and_managed_full-screen_mode
…sive_and_managed_full-screen_mode
…sive_and_managed_full-screen_mode
…sive_and_managed_full-screen_mode
…etween_exclusive_and_managed_full-screen_mode
…sive_and_managed_full-screen_mode
…etween_exclusive_and_managed_full-screen_mode
Description
In addition to #2619, this pull request offers dynamic switching between exclusive and managed fullscreen modes. This can be done by right-clicking the fullscreen button or by pressing Shift+F11.
Currently, switching between exclusive and managed fullscreen modes results in a brief screen flicker. Because exclusive fullscreen mode offers limited window functionality, the screen flickers every time, for example, a tooltip appears. #2619 keeps the screen permanently in managed fullscreen mode, thus preventing the flickering. Exclusive fullscreen mode, on the other hand, offers better performance, which translates into potentially higher frame rates.
I know the implementation is somewhat unusual… I based it on this Stack Overflow question.
Type of change
How Has This Been Tested?
Test Configuration:
Checklist: