Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
5.9.0, 5.11.0
-
None
-
Linux yoga 4.11.4-1-ARCH #1 SMP PREEMPT Fri Jun 9 07:46:48 CEST 2017 x86_64 GNU/Linux
OpenGL vendor string: Intel Open Source Technology Center
OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 520 (Skylake GT2)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.1.3
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profileLinux yoga 4.11.4-1-ARCH #1 SMP PREEMPT Fri Jun 9 07:46:48 CEST 2017 x86_64 GNU/Linux OpenGL vendor string: Intel Open Source Technology Center OpenGL renderer string: Mesa DRI Intel(R) HD Graphics 520 (Skylake GT2) OpenGL core profile version string: 4.5 (Core Profile) Mesa 17.1.3 OpenGL core profile shading language version string: 4.50 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile
Description
Testcase:
import QtQuick 2.0 import QtQuick.Particles 2.0 Item { width: 1500 height: 800 Rectangle { color: 'black' anchors.fill: parent } ParticleSystem { id: system anchors.fill: parent visible: false Emitter { id: emitter enabled: false emitRate: 1 lifeSpan: 2000 size: 24 sizeVariation: 16 velocity: AngleDirection {angleVariation: 180; magnitude: 150; magnitudeVariation: 260} acceleration: AngleDirection {angleVariation: 180; magnitude: 0; magnitudeVariation: 60} } function boom(count) { visible = true; emitter.enabled = true; emitter.burst(count); emitter.enabled = false; } // GPU is being eaten like crazy even if this line is commented out Component.onCompleted: boom(100) ItemParticle { delegate: Rectangle { color: 'red' width: 4 height: 4 } } } }
Note that that happens even without calling `boom`, even with disabled emitter.
The same could be reproduced with `CustomParticle` instead of `ItemParticle`.
Basically everything valid with a ParticleSystem was affected in my observations.
GPU usage observed by both `intel_gpu_top` (>60% gpu usage) and noticeable notebook overheating (and fan noise).
Note that the effect depends on the size of the window, so to make this more noticeable — maximize the window (though that is not required).
Attached are both the testcase and a trace of OpenGL calls.
The issue could be also reproduced with `glretrace qml.slow.trace`.