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

Unexpected performance penalty of QSG Item vs QOpenGLWindow

    XMLWordPrintable

Details

    • Bug
    • Resolution: Unresolved
    • P2: Important
    • None
    • 5.12.10, 5.14.1
    • Quick: SceneGraph
    • None
    • Linux/X11

    Description

      When converting old QOpenGLWindow based application to QSG one, i noticed that unexpected increase of renderer busy reported by intel_gpu_top, thus i created minimum example (attached) which draw a random graph and encapsulated all gl* functions in renderer class, the renderer class would be called in QSGRenderNode::render() in QSG based app and QOpenGLWindow:: paintGL in QOpenGLWindow app,

      Because both apps running at 60fps, same QSurfaceFormat and same rendering class, i would expected same gpu performance, but surprisingly QSG one has 25% more render busy, i didn't find any statement in documentations about this (all the performance docs are saying QSG improves gl draws by batching and that's right but doesn't say something about non batched overhead or ...).

       

      QSG app has same QSurfaceFormat as QOpenGLOne and there isn't any other component in qml (Window and CustomItem), also the renderer class is same for both apps, so i wounder QSG should not draw anything other than window background and custom item itself and 20% performance overhead is indication of something wrong.

       

      PS: Cpu usage of both apps is ~0%, both compiled and profiled in release mode

      Attachments

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

        Activity

          People

            qt.team.graphics.and.multimedia Qt Graphics Team
            a.mosawi ali mosawi
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes