[Interest] QML and OpenGL conflicts

Sean Harmer sean.harmer at kdab.com
Fri Jun 5 19:09:21 CEST 2015


On 04/06/2015 14:25, Marc Gilleron wrote:
> I tried to set QSG_RENDER_LOOP to "threaded" but didn't noticed any 
> difference, our application still crashes.

Then you need to isolate why it crashes and choose a method to fix it. 
Some options:

* Put your custom rendering into another thread and integrate it into Qt 
Quick's scene using QQuickFramebufferObject as Kai suggested.

* Have your application drive when Qt Quick performs it's rendering by 
using QQuickRenderControl.

* Debug your code to ensure that your rendering code calls makeCurrent() 
on it's own context whenever it needs to do some GL calls. Apitrace, 
vogl or similar can help here.

* Share the context with Qt Quick so that there is only one context that 
is always current. This may or may not be possible depending upon the GL 
requirements of your renderer.

Qt Quick is not doing anything naughty here. It's just typical 
integration of 2 renderers situation where your renderer is making the 
assumption that no other context will ever be made current. That 
assumption is being broken by introducing Qt Quick into the picture.

Cheers,

Sean

-- 
Dr Sean Harmer | sean.harmer at kdab.com | Managing Director UK
Klarälvdalens Datakonsult AB, a KDAB Group company
Tel. Sweden (HQ) +46-563-540090, USA +1-866-777-KDAB(5322)
KDAB - Qt Experts - Platform-independent software solutions




More information about the Interest mailing list