Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
5.15.4, 6.x
-
None
Description
This observation came from https://bugreports.qt.io/browse/QTBUG-92904 ... Qt syncs the GUI and render thread every frame when an Animator is running, although there really isn't anything to sync at all while the animator is running.
I have created 2 WIP patches against qtbase and qtdeclarative (dev/6.2) that "fix" this behavior and free up the GUI thread completely while Animators are running:
https://codereview.qt-project.org/c/qt/qtbase/+/350313
https://codereview.qt-project.org/c/qt/qtdeclarative/+/350314
Currently, only the normal threaded renderloop is patched.
I've also attached a test program to verify that the blockedForSync intervals are completely gone for Animators after the patch is applied: no-render-sync.tgz
Currently tested on Linux against both dev and 5.15 (the qtdeclarative patch doesn't apply cleanly there and needs manual adjustments)
Attachments
Gerrit Reviews
For Gerrit Dashboard: QTBUG-93882 | ||||||
---|---|---|---|---|---|---|
# | Subject | Branch | Project | Status | CR | V |
350313,2 | WIP: Do not sync the render thread, while only Animators are active (qtbase part) | dev | qt/qtbase | Status: DEFERRED | -2 | 0 |
350314,2 | WIP: Do not sync the render thread, while only Animators are active (qtdeclarative part) | dev | qt/qtdeclarative | Status: DEFERRED | -2 | 0 |