Hi all,

I've got a C++/QWidgets application with 2 Qt3DWindow embedded. The 3D windows can be hidden (i.e. the user switches to another view), while work is done in other parts of the application. Whenever the user switches back to the view with the embedded Qt3DWindow there are a lot of changes to be made to the scenegraph.

Rendering is set to /OnDemand/, but whenever the view is switched back to the 3D windows there is a big lag, up to several seconds. Profiling the application has shown that a lot of work is done for rendering at that point because the scenegraph is changing (most time is spent in the material classes).

My working theory is, that each change to the scenegraph (i.e. removing entities, adding a new ones) causes a separate render update, which leads to the lag due to the amount of separate changes.

So my question is: Is there a way to disable all render updates until the scenegraph has been updated/modified completely? What would be the "correct" way to make such changes? Is there something similar to the beginResetModel() and endResetModel() methods in QAbstractItemModel?



Interest mailing list

Reply via email to