[Development] [QML] Avoiding graphics flicker in Quick2

Denis Shienkov denis.shienkov at gmail.com
Fri Aug 5 07:12:59 CEST 2016


Hi all,

I have an idea how to avoid flickering, but I don't know about results:
what if I will discard the Open GL support in favor to Quick2 render?

I have read this documentation: http://doc.qt.io/QtQuick2DRenderer/
which says about the "Qt Quick 2D Renderer" module.

So, my things is:

1. Download && build && install  this module:

git://code.qt.io/qt/qtdeclarative-render2d.git

2. Use this env variable:

export QMLSCENE_DEVICE=softwarecontext

3. Run my app...


But, I  don't understand:

1) What of engine is used to 2D rendering in case if I have EGLFS only?

2) Should I re-build Qt5 too with the "--no-opengl" option (or I can 
keep the "-opengl es2" option) ?


04.08.2016 16:10, Denis Shienkov пишет:
> 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 
> <mailto: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 <mailto: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/20160805/ec2bc282/attachment.html>


More information about the Development mailing list