Details
-
Suggestion
-
Resolution: Out of scope
-
P2: Important
-
None
-
None
Description
QGLWidget always redraws everything. This is how Qt's OpenGL support works, it does not have a concept of minimal changes. The side effect for Graphics View is that enabling a GL viewport can make everything go very slow; despite all items rendering much faster individually, having everything redrawn makes it lose to the native paint engine, which supports minimal updates.
One way to solve this problem is to add explicit double-buffering support to QGraphicsView, or possibly even to QGLWidget itself.
Note: There have been discussions about adding explicit double-buffering to QAbstractScrollArea or QWidget also. Note that since QWidget is already implicitly double-buffered, enabling such an option could cause unwanted triplebuffering.