Priority: P2: Important
Affects Version/s: 5.9.1
Fix Version/s: None
Component/s: Quick: Core Declarative QML
eeb320bbd8763f3e72f79369cc3908e999a0da3c introduced a change that meant the render loop is responsible for calling endSync() if it's the last window.
Our users are in a state of never being the "last window" meaning we never call endSync() and burn through memory.
It's not universal but we have lots of report downstream: https://bugs.kde.org/show_bug.cgi?id=381000
Useful comments are:
45, 50, 63, 70, 78, 80.
In the last trace we can see: (using the last 4 digits of pointer address as names)
It renders window 8ac0, 6010 is pending
It renders fcf0, 6010 is pending
It renders 6010, 8ac0 is pending
It renders fcf0, 6010 is pending.
None of those are the last window so it's never calling end sync.
Reverting the hash mentioned "fixes" the issue.
For context: DesktopView is a QQuickWindow, and we see a big problem when we have a slideshow wallpaper (using a normal Image component) . There are two overlayed images with an opacity animator for fading.
I can help link to whatever downstream code is relevant.