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

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

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: P1: Critical P1: Critical
    • 5.12.8, 5.14
    • 5.13.0, 5.13.1
    • GUI: OpenGL
    • None
    • macOS
    • f39230fcac4de01f26945bde16c3a10c5ac74afb (qt/qtbase/5.15) 0912459c9d3f2433aae10cb569f1020868edaeb5 (qt/qtbase/5.12)

      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() 
      

        For Gerrit Dashboard: QTBUG-79139
        # Subject Branch Project Status CR V

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

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes