[Development] [QML] Avoiding graphics flicker in Quick2

Denis Shienkov denis.shienkov at gmail.com
Thu Aug 4 15:10:27 CEST 2016


Hi Robin,

> Repeating my last answer...
> http://lists.qt-project.org/pipermail/development/2016-July/026736.html

I'm sorry, but I did not receive (did not see) your last answer.

> I'm going to guess you're using eglfs or something like that

Yes, I use EGLFS via X11 on Linux Apalis T30 board, where are used NVIDIA's
drivers.

Seems, the flickering is when are used:

export QT_QPA_EGLFS_FORCE888=1

ENV variable... (I need this variable to smooth the Image's gradients...
even X11 started with 24-bit depth).

PS: But, I'm not sure about QT_QPA_EGLFS_FORCE888... :(

> Using an overlay to debug item positions (QSG_VISUALIZE=overdraw) could
be handy for trying to rule
this out, as if it is specific to the application,

Ok, many thanks, I will try it.


2016-08-04 14:57 GMT+03:00 Robin Burchell <robin+qt at viroteck.net>:

> Repeating my last answer...
>
> http://lists.qt-project.org/pipermail/development/2016-July/026736.html
>
> On Thu, Aug 4, 2016, at 01:50 PM, Denis Shienkov wrote:
> > {quote}
> >
> > Hi all.
> >
> > I have some QML application, where just use QQuickView as QML container.
> > This application uses Qt 5.7.x and running on Linux embedded board with
> > the
> > NVIDIA core (Toradex Apalis T30).
> >
> > But sometimes I got flickering in process of animation. A flickering
> > represents in form of a "white" strips with full-screen width and 1/5-1/6
> > screen heigth. This flickers happens quickly and frequently (every ~20-60
> > seconds, randomly)...
> >
> > I have seen this "Avoiding graphics flicker in Qt / QML" [1] blog where
> > are
> > used QML with Qt 4.x,
> > where were used this trics:
> >
> > {code}
> > int main(int argc, char **argv)
> > {
> >     ...
> >     view.setAttribute(Qt::WA_OpaquePaintEvent);
> >     view.setAttribute(Qt::WA_NoSystemBackground);
> >     view.viewport()->setAttribute(Qt::WA_OpaquePaintEvent);
> >     view.viewport()->setAttribute(Qt::WA_NoSystemBackground);
> >     ...
> > }
> > {code}
> >
> > But, in my case I have use Quick v2, with QQuickView instead of
> > QDeclarativeView,
> > which does not allowed to setup any attributes.
> >
> > So, my questions is: is there are any way to setup
> > Qt::WA_OpaquePaintEvent
> > and/or
> > Qt::WA_NoSystemBackground in Quck2? Or, maybe is it possible to use
> > another
> > tricks?
> >
> > BR,
> > Denis
> >
> > [1]
> https://blog.rburchell.com/2011/11/avoiding-graphics-flicker-in-qt-qml.html
> >
> > {quote}
> >
> > This flickering present on some HDMI displays...
> >
> > We currently have this flags:
> >
> > {code}
> > ...
> > view.setFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
> > ...
> > {code}
> >
> > Maybe is it an reasons of flikering? Has someone any ideas?
> >
> > BR,
> > Denis
> > _______________________________________________
> > Development mailing list
> > Development at qt-project.org
> > http://lists.qt-project.org/mailman/listinfo/development
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20160804/2c7eb769/attachment.html>


More information about the Development mailing list