[Interest] Scene3D object redrawing at 60hz even when renderPolicy is set to RenderSettings.OnDemand

Phil Williams phil.williams at advisoft.co.nz
Wed Sep 8 14:36:00 CEST 2021


Hi,

I originally asked this question on SO a few months ago: 
https://stackoverflow.com/questions/67102124/qt-qml-disable-vsync-buffer-swap-scene3d

I have some additional information since posting that question.

If I set showDebugOverlay to true on the forward renderer, the dearimgui 
shows that it is actually only rendering the scene on demand.

I've gathered some logs using apitrace and have found the rest of the 
QML in the application is being updated on the GPU at 60hz. I see 1500 
OpenGL calls at 60hz, If I change the application to have less visual 
stuff on it (unrelated to the Scene3d) the number drops.

I started digging through the source, putting breakpoints etc to try and 
work out what is going on. I found a 60hz timer being started when the 
object is created. I can see the timer events coming through and then it 
just gets too complicated for me to understand exactly what is going on.

If anyone has any ideas to share on how to stop this constant thrashing 
of the GPU I would be greatly appreciated.

Thanks,

Phil



More information about the Interest mailing list