QtWayland compositor very bad performance
-
Hi all,
I'm testing QtWayland performance on an embedded armhf device with imx6q processor. It is supported SoC (by Qt5) long ago.
Its Qt 5.8.0 and the OS is Debian StretchWhen I run the QtWayland Compositor: examples/qwindow-compositor
$ glmark2-es2-wayland
=======================================================
glmark2 2014.03
=======================================================
OpenGL Information
GL_VENDOR: Vivante Corporation
GL_RENDERER: Vivante GC2000
GL_VERSION: OpenGL ES 3.0 V5.0.11.p8.41671
=======================================================
[build] use-vbo=false: FPS: 119 FrameTime: 8.403 ms
[build] use-vbo=true: FPS: 200 FrameTime: 5.000 ms
<snip-snip-snip>
....
=======================================================
glmark2 Score: 102
=======================================================When I run the QtWayland Compositor: examples/pure-qml
$ glmark2-es2-wayland
tele@stretch-dev:/opt/qt5/examples/qt3d$ glmark2-es2-wayland
=======================================================
glmark2 2014.03
=======================================================
OpenGL Information
GL_VENDOR: Vivante Corporation
GL_RENDERER: Vivante GC2000
GL_VERSION: OpenGL ES 3.0 V5.0.11.p8.41671
=======================================================
[build] use-vbo=false: FPS: 72 FrameTime: 13.889 ms
[build] use-vbo=true: FPS: 111 FrameTime: 9.009 ms
<snip-snip-snip>
....
=======================================================
glmark2 Score: 79
=======================================================When I run the good old Weston compositor:
$ glmark2-es2-wayland
tele@stretch-dev:/opt/qt5/examples/qt3d$ glmark2-es2-wayland
=======================================================
glmark2 2014.03
=======================================================
OpenGL Information
GL_VENDOR: Vivante Corporation
GL_RENDERER: Vivante GC2000
GL_VERSION: OpenGL ES 3.0 V5.0.11.p8.41671
=======================================================
[build] use-vbo=false: FPS: 419 FrameTime: 2.387 ms
[build] use-vbo=true: FPS: 682 FrameTime: 1.466 ms
<snip-snip-snip>
....
=======================================================
glmark2 Score: 253
=======================================================As you can see the performance with the same glmark2-es2-wayland client is :
C++ QtWayland Compositor 102
QML QtWayland Compositor 79
Pure C Weston compositor 253Just for comparison, on X11 the glmark2-es2 score is 194 with this board.
Wayland is supposed to be faster than x11. And Weston proves that, its about 30% faster.
But Qtwayland compositors are much worse, the pure qml compositor actually unusable in this embedded environment.My questions are :
Is this expected ? Can anyone confirm this ? Or should I expect better performance ? Do I need to check settings or something ?
Seemingly everything works good, no error, no warning, even the spinning cubes and animals look the same, its not sluggish (of course 72 fps is just fast enough for the eye)
In my opinion wayland is much more important on embedded, than on desktop platform.
On a desktop PC you can't ask any graphics task on x11 what is slow with a modern nVidia or AMD video-card and with a good SW, they are bloody fast GPU's and the desktop graphics stupid effects are nothing to them. They start to swear only at 4k high FPS 3D games, but those are not written for x11 or wayland. So the faster wayland makes no big difference on PC.
But running on low-end embedded GPU's, wayland could make a big difeerence compared to X11.
In theory. But I experience the opposite and wayland compositor is much worse than X11. At least if its QtWayland.This is a huge disappointment. Will this be any better in Qt5.9 ? I mean the QtWayland Compositor class.
Thanks,
Laci -
Hi and welcome to devnet,
You should rather bring that question to the interest mailing list. You'll find there Qt's developers/maintainers. This forum is more user oriented.