Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Users
  • Groups
  • Search
  • Get Qt Extensions
  • Unsolved
Collapse
Brand Logo
  1. Home
  2. Qt Development
  3. General and Desktop
  4. It's just me, or Qt3D applications have awful performance?
Forum Updated to NodeBB v4.3 + New Features

It's just me, or Qt3D applications have awful performance?

Scheduled Pinned Locked Moved Unsolved General and Desktop
7 Posts 3 Posters 1.5k Views 3 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • L Offline
    L Offline
    lockheed
    wrote on last edited by
    #1

    I am developing project, which is my first attempt to Qt3D modules. And I am very, very disappointed. GPU performance is far from being acceptable.

    Even real simple example projects are tremendous heavy. For example, "pbr-materials', build with Qt 13.0 MSVC x64, on fullscreen, takes up to 99% of my GTX 550 Ti. It's more than Crysis 3 on medium settings !!! Try it yourself.

    There is really no way to speed up this applications? Just a little bit...

    1 Reply Last reply
    1
    • mrjjM Offline
      mrjjM Offline
      mrjj
      Lifetime Qt Champion
      wrote on last edited by
      #2

      Hi
      Are other examples heavy in same way ?
      Just tried the sample on my 7950 and it uses around 25-34% (in fullscreen)
      I wonder if its related to PBR.

      1 Reply Last reply
      1
      • L Offline
        L Offline
        lockheed
        wrote on last edited by
        #3

        Hi.

        No, there is no big impact related to the type of used material, texture resolution or entities count. Although, performance is highly dependent on the window size.

        Below is minimal example, taking about 5% in default window size, 25-30% when fullscreened, and >90% when stretched across both of my displays (1680x1050 each).

        main.cpp

        #include <Qt3DQuickExtras/qt3dquickwindow.h>
        #include <QGuiApplication>
        
        int main(int ac, char **av)
        {
            QGuiApplication app(ac, av);
            Qt3DExtras::Quick::Qt3DQuickWindow view;
            view.setSource(QUrl("qrc:/main.qml"));
            view.show();
        
            return app.exec();
        }
        
        

        main.qml

        import QtQuick.Scene3D 2.0
        import Qt3D.Core 2.0
        import Qt3D.Render 2.0
        import Qt3D.Extras 2.0
        
        Entity {
            id: rootNode
            components: [
                RenderSettings {
                    activeFrameGraph: ForwardRenderer {
                        clearColor: "blue"
                        camera: camera
                    }
                }
            ]
            Entity {
                id: sceneRoot
                Camera {
                    id: camera
                    projectionType: CameraLens.PerspectiveProjection
                    fieldOfView: 45
                    aspectRatio: 16/9
                    nearPlane : 0.1
                    farPlane : 200.0
                    position: Qt.vector3d( 0.0, 0.0, -40.0 )
                    upVector: Qt.vector3d( 0.0, 1.0, 0.0 )
                    viewCenter: Qt.vector3d( 0.0, 0.0, 0.0 )
                }
                OrbitCameraController {
                    camera: camera
                    linearSpeed: 200
                    lookSpeed: 350
                }
            }
        }
        
        

        Maybe something with viewport resolution/scaling?

        kshegunovK 1 Reply Last reply
        0
        • L lockheed

          Hi.

          No, there is no big impact related to the type of used material, texture resolution or entities count. Although, performance is highly dependent on the window size.

          Below is minimal example, taking about 5% in default window size, 25-30% when fullscreened, and >90% when stretched across both of my displays (1680x1050 each).

          main.cpp

          #include <Qt3DQuickExtras/qt3dquickwindow.h>
          #include <QGuiApplication>
          
          int main(int ac, char **av)
          {
              QGuiApplication app(ac, av);
              Qt3DExtras::Quick::Qt3DQuickWindow view;
              view.setSource(QUrl("qrc:/main.qml"));
              view.show();
          
              return app.exec();
          }
          
          

          main.qml

          import QtQuick.Scene3D 2.0
          import Qt3D.Core 2.0
          import Qt3D.Render 2.0
          import Qt3D.Extras 2.0
          
          Entity {
              id: rootNode
              components: [
                  RenderSettings {
                      activeFrameGraph: ForwardRenderer {
                          clearColor: "blue"
                          camera: camera
                      }
                  }
              ]
              Entity {
                  id: sceneRoot
                  Camera {
                      id: camera
                      projectionType: CameraLens.PerspectiveProjection
                      fieldOfView: 45
                      aspectRatio: 16/9
                      nearPlane : 0.1
                      farPlane : 200.0
                      position: Qt.vector3d( 0.0, 0.0, -40.0 )
                      upVector: Qt.vector3d( 0.0, 1.0, 0.0 )
                      viewCenter: Qt.vector3d( 0.0, 0.0, 0.0 )
                  }
                  OrbitCameraController {
                      camera: camera
                      linearSpeed: 200
                      lookSpeed: 350
                  }
              }
          }
          
          

          Maybe something with viewport resolution/scaling?

          kshegunovK Offline
          kshegunovK Offline
          kshegunov
          Moderators
          wrote on last edited by
          #4

          @lockheed said in It's just me, or Qt3D applications have awful performance?:

          aking about 5% in default window size, 25-30% when fullscreened, and >90% when stretched across both of my displays

          Taking so much percent of what? CPU time? GPU time?

          Read and abide by the Qt Code of Conduct

          1 Reply Last reply
          0
          • L Offline
            L Offline
            lockheed
            wrote on last edited by lockheed
            #5

            I am talking about GPU usage, measured simply in Windows10 Task Manager. CPU is fine, just as in 'classic' QtQuick applications. I thought, it was because of no framerate limitation, but the fps ranges stable between 35-45 all the time, using fps counting method from 'Planets-qml' example.

            kshegunovK 1 Reply Last reply
            0
            • mrjjM Offline
              mrjjM Offline
              mrjj
              Lifetime Qt Champion
              wrote on last edited by mrjj
              #6

              Hi
              What % do you get with
              https://doc.qt.io/qt-5/qtgui-openglwindow-example.html

              its as barebone as it gets.

              1 Reply Last reply
              0
              • L lockheed

                I am talking about GPU usage, measured simply in Windows10 Task Manager. CPU is fine, just as in 'classic' QtQuick applications. I thought, it was because of no framerate limitation, but the fps ranges stable between 35-45 all the time, using fps counting method from 'Planets-qml' example.

                kshegunovK Offline
                kshegunovK Offline
                kshegunov
                Moderators
                wrote on last edited by
                #7

                In addition to @mrjj, what does the nvidia driver utility say?

                Read and abide by the Qt Code of Conduct

                1 Reply Last reply
                0

                • Login

                • Login or register to search.
                • First post
                  Last post
                0
                • Categories
                • Recent
                • Tags
                • Popular
                • Users
                • Groups
                • Search
                • Get Qt Extensions
                • Unsolved