Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-96373

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

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P2: Important
    • None
    • 5.15.2
    • Qt3D
    • None
    • Windows

    Description

      I now think this is probably a bug, but the following is framed as a question. I sent this to the Qt interest mailing list.

      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.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            seanharmer Sean Harmer
            philwilliams Phil Williams
            Votes:
            2 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes