Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
5.3.2, 5.4.2
-
None
-
This issue was tested with:
Ubuntu 12.04+qt5.4.2+intel_video. opensource videodriver
and
ubuntu14.04+qt5.3.2+radeon_video. opensource videodriver
Description
I found that update() slot consumes more and more CPU power it time when running in several windows.
I wrote a simple program so everyone could check what am i talking about:
import QtQuick 2.3 import QtQuick.Controls 1.2 import QtQuick.Window 2.2 ApplicationWindow {visible: true; width: 640; height: 480; Window{ height: 100; width: 100; visible: true; objectName: "w1"; id:w1; } Window{ height: 100; width: 100; visible: true; objectName: "w2"; id:w2; } Window{ height: 100; width: 100; visible: true; objectName: "w3"; id:w3; } Timer { interval: 30 repeat: true running: true onTriggered: { w1.update(); w2.update(); w3.update(); } } }
for my system this code increases cpu load lineary from 10% to 60% in 100 second. screenshot is attached.
It happens only if updating is in few separate windows.
If i completely reload animated windows with Loader{}, everything resets and CPU load starts to increase from beginning.
I had already tried to periodically call releaseResources() method and resetOpenGLState() method of QQuickWindow.
ALso very interesting is that when I apply putenv("LIBGL_ALWAYS_SOFTWARE=1"); in main.cpp this issue goes away and i have CONSTANT low cpu usage, but hardware acceleration is turning off.
Also when QT_OPENGL_NO_SANITY_CHECK=1 CPU load stay constantly low, until application crashes.
Attachments
Issue Links
- relates to
-
QTBUG-54398 Animations in multiple quick windows causes high cpu usage with intel driver
- Closed