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