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@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@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@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
_______________________________________________ Interest mailing list Interest@qt-project.org http://lists.qt-project.org/mailman/listinfo/interest