Details
-
Bug
-
Resolution: Unresolved
-
Not Evaluated
-
None
-
6.8
-
None
Description
In our implementations, we embed QWindows into native windows and due to performance concerns at the same time turn off their vertical sync.
This so far worked very well, until we noticed a regression with 6.8.x, where the graphical updates at some very early stage seem to suddenly stop and not update the UI anymore, until e.g. the UI is resized and in general they never recover.
Looking into the change history, we could find the offending commit amongst the changes of this bug report: https://bugreports.qt.io/browse/QTBUG-107198
The issue seems to be caused by an optimization, which is skipping update requests, if there is already natively being redrawn. This in principle seems fine, but it was apparently missed, to take the no-vsync use case into account, which relies on the update requests to be delivered, since they are responsible to start a new update cycle.
We found a reasonably small patch to fix this (see attachment). If there aren't any objections, I will commit this to Gerrit soon (or if someone is faster than me, please go ahead).
Attachments
Gerrit Reviews
For Gerrit Dashboard: QTBUG-135950 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
639670,1 | Don't stop QPlaformWindow updateRequest timer until after delivery | dev | qt/qtbase | Status: NEW | 0 | 0 |