[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