The scene graph is the main change under the hood of QtQuick 2 that justified a new major version of the technology, while the rest initially remained similar to QtQuick 1. The extra performance is provided automatically for applications to enable smooth panning and scaling, but there are some situations where you can take advantage of using the scene graph API directly to smoothen your custom graphical item animations.
This talk will present how the lower-level scene graph API in QtQuick can, with the help of a few lines of C++ code, allow you to reduce the overhead of QML abstractions and offload some transform computations to the GPU. In addition this will present:
- What the scene graph is and how it relates to a QML component or QQuickItem.
- How it is different from a QGraphicsScene.
- How it interacts with OpenGL and the GPU.
- How you can write code to run safely in the render thread and taking advantage of the geometry batching done by the renderer.
- What APIs like QQuickItem::updatePaintNode, QSGNode, QSGGeometry, QSGMaterial and QSGTexture are used for.
Jocelyn Turcotte, Woboq GmbH
Jocelyn is a Software Engineer at Woboq GmbH. He has been working on Qt since 2009, first on QtWebKit at Nokia and then on QtWebEngine at Digia/The Qt Company. Among other things, he took care of the integration of both QtWebKit and QtWebEngine into QtQuick 2 using the scene graph, working on getting the tightest performances on all platforms. He is a fan of networks, graphics and finely threaded code. He also enjoys working with a mixture of chewed cookies and coffee in his stomach.
Speaker: Jocelyn Turcotte, Woboq GmbH
Session type: Qt application development and device creation
Date: Wednesday, October 7, 2015 - From 11:30 to 12:30