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

Do not draw initial empty frames

    XMLWordPrintable

Details

    • Task
    • Resolution: Unresolved
    • P1: Critical
    • 5.9.5, 5.10.1
    • 5.9.3, 5.10.0
    • Qt3D
    • None

    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

              dragly Svenn-Arne Dragly
              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