The way Scene3D (and all similar solutions like Studio3D or even the upcoming future Studio3DEngine+Layer3D combo) works is highly not ideal for 3D scenes that are not constantly changing.
Marking the node as dirty and scheduling a Quick re-render by calling QQuickWindow::update() on each and every frame (this is hooked up to QQuickWindow::beforeRendering) is wasteful (performance, power) and is not acceptable to some customers. Qt Quick itself does not have this problem: if nothing changes in the Qt Quick scene (e.g. all animations stop) the render loop will not render anything.
So Scene3DRenderer::render() (and all similar solutions in Studio3D and elsewhere) would need a way to tell if rendering needs to be done: