[Interest] Performance of platform wayland vs. eglfs

Filip Piechocki fpiechocki at gmail.com
Fri Jun 13 17:57:44 CEST 2014


Hi,
I didn't test performance with wayland on iMX6, but I had an issue
that when using eglfs I still could see the blinking cursor "behind"
the qt application (it seemed that the console fb and my app fb are
displayed in paralel) - did you notice something like this? I didn't
resolve this problem and I don't have access to iMX6 board anymore,
but I thought that there might some blitting or something which has an
impact on performance. And what I found I had a bit better performance
(Qt Cinematic Experience is my benchmark) on RasperryPi than on i.MX6
DualLite (wandboard-dual) - both eglfs.

BR,
Filip

On Fri, Jun 13, 2014 at 5:23 PM, Martin Ertl <qsmokeonthewater at gmail.com> wrote:
> Hello,
>
> I compiled an application (see end of this mail) once with Qt 5.0.2 using
> wayland
> plugin and once with Qt 5.3.0 using eglfs plugin.
>
> Both applications were executed on the same hardware (IMX6).
>
> The old Qt with wayland results in ~60fps while the new Qt using
> eglfs just reaches 40-45 fps (measured by counting
> QQuickWindow::frameSwapped signals
> in both cases).
>
> I'd like to understand the difference. I expected it the other way around.
> This is what I assumed:
> When using wayland a surface for a window has to be created and Qt renders
> to that window. Once an image is complete the wayland surface is copied
> to the framebuffer:
>
>             |------|          |------|
> App -draw-> | win  | -copy->  |  fb  | -copy-> Display
>             |------|          |------|
>
> I expected the eglfs to draw directly to the framebuffer without the need
> for an additional copy from a window. So I expected better performance...
>
> But my results show that this is not the case. Is the eglfs plugin
> introducing
> some extra overhead?
>
>
> Btw.: I had to set 'QT_EGLFS_IMX6_NO_FB_MULTI_BUFFER' to '1'. Otherwise
> there's a segmentation fault.
> gdb prints something about 'libGAL' and 'gcoOS_SynchronousFlip' which seems
> to be something from
> the graphics driver. Could this be a reason for lower eglfs performance?
>
> Thank you and best regards,
> Martin
>
> main.cpp: from "hello world" example, but setting "Qt::FramelessWindowHint"
> to viewer.
>
> ============================start MyCompo.qml:============================
> import QtQuick 2.0
>
> Rectangle
> {
>     id: root
>     property color c0
>     property color c1
>
>
>     anchors.fill: parent
>     color: "yellow"
>
>
>     SequentialAnimation on color
>     {
>         running: true
>         loops: Animation.Infinite
>
>         ColorAnimation {to: root.c0; duration: 1000}
>         ColorAnimation {to: root.c1; duration: 1000}
>     }
> }
> ============================end MyCompo.qml:============================
>
> ============================start main.qml:============================
>
> import QtQuick 2.0
> import Ces.Generic 1.0
>
> Item
> {
>     width: 640
>     height: 640
>
>
>     Text
>     {
>         x: 10
>         y: 10
>         font.pixelSize: 20
>         color: "white"
>         text: fps.fps2
>         z: 1
>
>         CGFPSCounter
>         {
>             id: fps
>         }
>     }
>
>     MyCompo
>     {
>         c0: "red"
>         c1: "green"
>     }
>     MyCompo
>     {
>         c0: "red"
>         c1: "blue"
>         opacity: 0.5
>     }
>     MyCompo
>     {
>         c0: "red"
>         c1: "blue"
>         opacity: 0.5
>     }
>     MyCompo
>     {
>         c0: "red"
>         c1: "blue"
>         opacity: 0.5
>     }
>     MyCompo
>     {
>         c0: "red"
>         c1: "blue"
>         opacity: 0.5
>     }
>     MyCompo
>     {
>         c0: "red"
>         c1: "blue"
>         opacity: 0.5
>     }
>     MyCompo
>     {
>         c0: "red"
>         c1: "blue"
>         opacity: 0.5
>     }
>     MyCompo
>     {
>         c0: "red"
>         c1: "blue"
>         opacity: 0.5
>     }
>     MyCompo
>     {
>         c0: "red"
>         c1: "blue"
>         opacity: 0.5
>     }
>     MyCompo
>     {
>         c0: "red"
>         c1: "blue"
>         opacity: 0.5
>     }
>     MyCompo
>     {
>         c0: "red"
>         c1: "blue"
>         opacity: 0.5
>     }
>     MyCompo
>     {
>         c0: "red"
>         c1: "blue"
>         opacity: 0.5
>     }
>     MyCompo
>     {
>         c0: "red"
>         c1: "blue"
>         opacity: 0.5
>     }
> }
>
> ============================end main.qml:============================
>
>
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
>



More information about the Interest mailing list