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

QOpenGLWidget initialization significantly slower than QGLWidget when using multisampling with NVIDIA on Linux

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P3: Somewhat important
    • None
    • 5.15, 6.8, 6.9
    • GUI: OpenGL
    • None
    • Ubuntu 20.04.6 LTS
      NVIDIA RTX A6000 with nvidia-driver-550

      Ubuntu 22.04.5 LTS
      NVIDIA P5000 with nvidia-driver-535

      Ubuntu 22.04.5 LTS
      NVIDIA P5000 with nvidia-driver-570
    • Linux/X11

    Description

      While upgrading our application from Qt 5.15 to Qt 6.9 we noticed a significant performance regression between the deprecated QGLWidget and the QOpenGLWidget.

      In our application we create several widgets for OpenGL rendering to render multiple different scenes. These use MSAAx8 by default. 
      Initializing the widgets for the first time takes significantly longer with the QOpenGLWidget than it did using the QGLWidget.

      We could reduce the issue down to a [Minimal Reproducible Example|https://gitlab.com/thorwin.vogt/minimalreproducableexampleqopenglissue,] which creates 6 QOpenGLWidgets which create a single MSAAx8 framebuffer on initialization. This is roughly equivalent to the use case in our application. The sample count also directly affects the initialization time.

       

      We verified this issue on Qt 5.15, Qt 6.8 and Qt 6.9 on multiple devices using different versions of Ubuntu and using NVIDIA GPU.

      We could not verify the issue on Windows 11 and Windows 11 using WSL 2.

      We could not verify the issue using an AMD GPU, in our case the RX 7800 XT on Ubuntu 22.04.5 LTS.

       

      Attached is output from profiling the minimal reproducible example with perf ran through clion.

      Attachments

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

        Activity

          People

            lagocs Laszlo Agocs
            thorwin.vogt Thorwin Vogt
            Votes:
            1 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes