It's just me, or Qt3D applications have awful performance?
-
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...
-
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. -
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?
-
@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?
-
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.
-
Hi
What % do you get with
https://doc.qt.io/qt-5/qtgui-openglwindow-example.htmlits as barebone as it gets.