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

Do not draw initial empty frames

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Open
    • Priority: P1: Critical
    • Resolution: Unresolved
    • Affects Version/s: 5.9.3, 5.10.0
    • Fix Version/s: 5.9.5, 5.10.1
    • Component/s: Qt3D
    • Labels:
      None
    • Technical Risk:
      Normal

      Description

      The first 3-4 frames of a Qt 3D scene are drawn empty. This is because we call swapBuffer even when nothing has been drawn. There are a few things that cause this that need to be fixed:

      • Some jobs in the first frame are not completed because the context is not yet initialized when the jobs run (see QTBUG-65878)
      • Renderer::doRender() keeps going even if jobs failed
      • Renderer::doRender() has no way to initialize the context without calling GraphicsContext::beginDrawing()
      • Renderer::doRender() calls GraphicsContext::beginDrawing() and GraphicsContext::endDrawing() even if there are no valid commands in the render views

      While this has little consequence for continuous rendering, it can cause problems when renderPolicy is set to RenderSettings.OnDemand. In this case we may end up rendering a couple of empty frames and then stop.

        Attachments

          Issue Links

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

            Activity

              People

              Assignee:
              dragly Svenn-Arne Dragly
              Reporter:
              dragly Svenn-Arne Dragly
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Dates

                Created:
                Updated:

                  Gerrit Reviews

                  There are no open Gerrit changes