SceneGraph always renders the whole scene



  • Hello all!
    I develop a medical application in embeded system (with eglfs, AM3517 processor based). I need to create a QML scene containing raw OpenGL Item (for displaying real-time graph).
    I found this example in Qt documentation: http://qt-project.org/doc/qt-5.1/qtquick/scenegraph-textureinsgnode.html
    , and modify it for my application (Change TextureNode class for render some VBO into FBO ).
    I also have many other QML files that contain various elements of the interface.

    So.. then i run application with only openGL Item, i have 10% CPU usage:
    main.qml
    @
    import QtQuick 2.0
    import Graphics 1.0
    Rectangle {
    width: 800
    height: 600
    color: "Gray"
    GraphItem{
    x: 230; y: 180
    width: 210
    height: 160
    }
    }
    @

    Then i run application with openGL Item and more other QML elements, do not overlap OpenGL item, i have 50% CPU usage!!:
    main.qml
    @
    import QtQuick 2.0
    import Graphics 1.0
    Rectangle {
    width: 800
    height: 600
    color: "Gray"
    GraphItem{
    x: 230; y: 180
    width: 210
    height: 160
    }
    MyOtherItems{
    // this contains many rectangles, texts and other
    }
    }
    @
    I conclude that SceneGraph Renderer render All items all time.

    My question: What i deal whrong? How render every time ONLY OpenGL SGNode? How i may watch scenegraph for debuging render process?


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.