Nominate our 2022 Qt Champions!

QOpenGLWidget performance

  • I faced with some QOpenGLWidget performance issues as viewport for QGraphicsView. In QGraphicsView there are one QGraphicsVideoItem and several QGraphicsItems which draw some HUD over QGraphicsVideoItem.

    When enabling QGraphicsView output through QOpenGLWidget it is uses less CPU resource than without QOpenGLWidget, but still too much. It is about 60-70% of CPU usage.

    But when you using deprecated QGLWidget, CPU usage is about 20%.

    Using profiler I find out that the most heaviest function is convertRGBA8888FromARGB32PM_sse4(unsigned int*, unsigned int const*, int, QPixelLayout const*, unsigned int const*) which is called by QWidgetBackingStore::sync(): Shot 2016-01-24 at 9.16.36 PM.png

    Is there any solutions to make render with QOpenGLWidget faster?
    Or any ideas, why it is so slow?