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

Resizing widget with OpenGL buffer (QQuickWidget, QOpenGLWidget) causes stuttering of content

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: P1: Critical
    • Resolution: Done
    • Affects Version/s: 5.13.0, 5.13.1
    • Fix Version/s: 5.12.8, 5.14
    • Component/s: GUI: OpenGL
    • Labels:
      None
    • Platform/s:
      macOS
    • Commits:
      f39230fcac4de01f26945bde16c3a10c5ac74afb (qt/qtbase/5.15) 0912459c9d3f2433aae10cb569f1020868edaeb5 (qt/qtbase/5.12)

      Description

      Resizing any GL widget, such as QOpenGLWidget or QQuickWidget, causes the position of the window's to stutter. This is jarring when resizing any window with more than minimal painting load. See https://youtu.be/0Qjy2wm6m9M for example with basic widget and jarring effect with substantial but optimized child content.

      Maybe there is at least some workaround to synchronize rendering somewhere?

      Example 1 with QQuickWidget (run and rapidly resize window using lower-right-hand corner):

       

      app = QApplication(sys.argv)
      mw = QQuickWidget()
      mw.show()
      app.exec()
      

      Example 2 with QOpenGLWidget (run and rapidly resize window using lower-right-hand corner)

       

      class Widget(QOpenGLWidget):
          def paintEvent(self, e):
              p = QPainter(self)
              p.setBrush(Qt.red)
              p.drawRect(self.rect())
      app = QApplication(sys.argv)
      mw = Widget()
      mw.show()
      app.exec() 
      

        Attachments

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

          Activity

            People

            Assignee:
            vestbo Tor Arne Vestbø
            Reporter:
            patrickkiddak Patrick Stinson
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Dates

              Created:
              Updated:
              Resolved:

                Gerrit Reviews

                There are no open Gerrit changes