Important: Please read the Qt Code of Conduct -

QQuickItem::updatePaintNode() or QSGNode::preprocess() ?

  • Hi,
    I see there are two functions for updating content of a custom visual QML item: QQuickItem::updatePaintNode() and QSGNode::preprocess(). In first one we initially create and add new node to the scene graph. But which of them is more preferrable for updating geometry?

  • Moderators

    Whoa! Nice find :) I knew only about updatePainNode(). I think that since SG stuff is more internal, in general you should focus on updatePaintNode(). This way you can also stay on top of underlying implementation (if you need to change it to a QSGSimpleTexture, for example), and also get a code that is more manageable and is shorter (you just need QQuickItem subclass).

    Just my view, though. If your use case would work better with ::preprocess(), then go for it :)

  • I think the main difference is that QSGNode try to use as many GPU threads as posible. So the performance can be better.

Log in to reply