[Interest] QML and OpenGL conflicts
marc.gilleron at gmail.com
Thu Jun 4 14:31:55 CEST 2015
I'm not sure where to set it, do you mean QSG_RENDER_LOOP is really an
environment variable like PATH on Windows? Oo
As for QQUickFrameBufferObject... I'm not sure how it will work.
Our application creates its own context and has nothing to do with Qt in
the first place. Because of its nature, all we can get from it is a native
Also, it performs OpenGL calls without bounds: they can happen not only in
our render() operation, because it's a pretty big project, other parts use
resources that implicitely get OpenGL called, and the main loop is
2015-06-04 13:41 GMT+02:00 Koehne Kai <Kai.Koehne at theqtcompany.com>:
> > -----Original Message-----
> > From: interest-bounces+kai.koehne=theqtcompany.com at qt-project.org
> > [....]
> > We investigated the problem and found that both renderings were
> > happening in the same thread, and Qt was stealing the OpenGL context we
> > setup in our application (with a makeCurrent() I guess), creating random
> > conflicts.
> > At first I thought that having a threaded Qt rendering could easily
> solve the
> > problem.
> > I saw that QtQuickWidget's rendering wasn't threaded, so I tried to use a
> > QtQuickView instead... with no luck.
> > This is a blocking problem for our project, and I would like to know if
> there is
> > a way to enable threaded rendering in QML, to prevent such conflict?
> The default QML render loop on Windows runs in the GUI thread. You can try
> and force a threaded renderer loop e.g. by setting the environment variable
> QSG_RENDER_LOOP=threaded . Not sure how save & portable this is though ...
> The canonical way to integrate Qt Quick and custom OpenGL is through a
> QQUickFrameBufferObject. See e.g.
> > Platform: Windows
> > PS: I first started a thread here
> > opengl-conflicts
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Interest