[Interest] Window Flicker When Scene3D is Destroyed

Colin Worth jlk2144 at gmail.com
Wed Jul 3 23:03:55 CEST 2019


I have two cases where I’m using a Scene3D to render some OpenGL content in my App.

In the first case, I put a Scene3D in a Component loaded by a StackView. The problem is that whenever the view is popped, the app window flickers. I solved the issue by moving the Scene3D into main.qml where it can stay alive for the lifetime of the App. When the StackView activates the view, it sets the parent of the Scene3D to a rectangle inside the new view. On Deactivation, it sets the parent back to main.qml.

In the second case, which I haven’t solved, I am trying to put the Scene3D into a Window component (a secondary window) loaded by Loader or createObject(). If the Scene3D is part of the secondary window component, then the app crashes when the window is destroyed. If I explicitly destroy the Scene3D before destroying the window, the app does not crash, but I get a flicker in the main App window [ commenting out the Scene3D makes the flicker go away ]. This is the best I’ve done so far. If I try to put the Scene3D in main.qml, like in the first case, I cannot parent it into the new Window without crashing the app.

Colin



More information about the Interest mailing list