[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