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

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

    XMLWordPrintable

Details

    • Bug
    • Resolution: Done
    • 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)

    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

            vestbo Tor Arne Vestbø
            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