[Interest] Qt5.8 QtWayland compositor low performance

Laci Tele laci at boundarydevices.com
Wed May 10 00:29:12 CEST 2017


Hi all,

I'm testing QtWayland performance on an embedded armhf device with imx6q
processor. It's supported SoC on Qt5 long ago.
The OS is Debian Stretch

When I run the QtWayland Compositor: examples/qwindow-compositor
tele at stretch-dev:~/$ 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 at stretch-dev:~/$ 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 at stretch-dev:~/$ 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    253

Just for comparison :

X11 glmark2-es2 score is  194

Wayland is supposed to be faster than x11. And Weston proves that indeed,
its about 30% faster, that is significant.

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 ? Am I missing
something ?

Seemingly everything works good, no error, no warning, even the spinning
cubes and animals look the same, its not sluggish (of course more than 25
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 sweat only at 4k high FPS 3D games, but those things are 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, because such a powerless embedded GPU is much more
sensitive to the graphics system's weaknesses.


In theory wayland is faster. But I experience the opposite and wayland
compositor is much worse than X11. At least if its QtWayland and not
Weston. I don't understand this, I think a properly written CPP QtWayland
compositor should run with about the same speed as Weston compositor.
Something is fishy.

If this is expected and known, then I don't understand why would anyone
move to QtWayland if its slower than the 50 ysr old x11, my grampa's
graphics server ?

This is a huge disappointment. Will this be any better in Qt5.9 ? I mean
the QtWayland Compositor class.

Thanks,
Laci
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20170509/0c97f976/attachment.html>


More information about the Interest mailing list