Qt Quick, VRAM and performance.
Hi, I am very new with Qt And I have a couple of questions about Qt Quick: I noticed an empty Qt Quick window on Windows uses ~200MB of VRAM when maximized at full HD resolution. I also encountered very bad performances (<10fps) on examples such as "customgeometry" using Qt Quick on old hardware (FirePRO 2660, 256MB VRAM) when maximizing the window. Are the two things correlated (the system switch to client side ram)? Why is Qt using so much vram just for an empty window and what causes the slowdowns? How does this translates in performance with mobile devices with little and slow shared ram? A full hd frame buffer should use around 6MB of VRAM with 24bit colors, even with triple buffering and other support buffers it is hard to understand how 200MB of vram are used. Please enlighten me, TY.
Hi and welcome to devnet,
You are missing some key information to get useful answers. i.e. what version of Qt are you using ? Are you using Qt Quick 1 or 2 ? Which backend are you using ? Desktop OpenGL or ANGLE ?
@SGaist Hi and thank you.
I'll try to answer to the best of my knowledge since I still know very little about QT.
I'm using QT 5.8 On Windows 7 64bit. QT Quick 2.0 as for the "customgeometry" example project.
Regarding the backend I'm not sure but I think it is plain OpenGL.
What I know is that what I am using is basically a clean Windows default installation of QT and the untouched example project.
I also encountered the same behaviour (to a lesser extent) on an Ubuntu machine equipped with a more recent Intel integrated GPU.
Regards and thanks for the support.
@jpnurmi Can you shed some light on this one please ?
After some testing I noticed:
- The VRAM usage depends also on the anti-aliasing samples and on the GPU driver settings, which makes sense.
- A maximized (<1920x1080) empty (just an fps counter) qtquick 2 windows manage to do only 40 FPS on my hardware with opengl backend causing 100% GPU and CPU usage (1/4 core).
- DirectX 12 backend fails to initialize.
- Software backend initialize and attains 200fps (limited) on the empty fullHD window.
Is QT copying the full frame buffer from and to the GPU for composition?