[Interest] Performance of platform wayland vs. eglfs

Martin Ertl qsmokeonthewater at gmail.com
Mon Jun 16 09:34:13 CEST 2014


Hello Filip,

thank you for your response.

I do not see a mouse cursor, maybe because my console is not shown on the
display...
But does eglfs have specific IMX behaviour?
I assume that it's a general question if eglfs draws directly to the
framebuffer
or if it introduces some extra buffers which have to be copied. I wouldn't
expect
that unless setting "layer.enabled" property to 'true' or using
ShaderEffectSource...

Best regards,
Martin


2014-06-13 17:57 GMT+02:00 Filip Piechocki <fpiechocki at gmail.com>:

> 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
> >
> _______________________________________________
> Interest mailing list
> Interest at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/interest
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20140616/511b9567/attachment.html>


More information about the Interest mailing list