Frame per seconds using QML on Embedded Linux
-
wrote on 17 Apr 2019, 09:26 last edited by
Hi,
my application is running on a iMx6Q CPU with Qt5.9.1
I am using the fps counter from delamor to count frame per seconds.If i run my application on LVDS output with 1280x800 pixel i get 18fps. When using the same application but on HDMI output with 1920x1080 i get 8fps only and i have VSYNC issues.(The framebuffer is not ready and gets synchronized, looks like diagonal pixels on frame change)
Is there a way to increase the fps or is this the maximum at this resolution?
Here is my output from QSG_INFO
qt.scenegraph.general: threaded render loop
qt.scenegraph.general: Using sg animation driver
qt.scenegraph.general: Animation Driver: using vsync: 16.95 ms
qt.scenegraph.general: Using sg animation driver
qt.scenegraph.general: Animation Driver: using vsync: 16.95 ms
qt.scenegraph.general: texture atlas dimensions: 2048x1024
qt.scenegraph.general: R/G/B/A Buffers: 4 4 4 0
qt.scenegraph.general: Depth Buffer: 24
qt.scenegraph.general: Stencil Buffer: 8
qt.scenegraph.general: Samples: 4
qt.scenegraph.general: GL_VENDOR: Vivante Corporation
qt.scenegraph.general: GL_RENDERER: Vivante GC2000
qt.scenegraph.general: GL_VERSION: OpenGL ES 3.0 V5.0.11.p8.41671 -
Does it also happen for a simple "hello world" application? If no, then you need to optimize your application. If yes, then try optimizing your graphics stack, updating drivers etc.
Normally QML clocks in at 60 fps.
-
wrote on 23 Apr 2019, 14:05 last edited by
I found the issue! I have now 44 fps on 1920x1080.
I comment this code out of my main:QSurfaceFormat format = view.format(); format.setDepthBufferSize(24); format.setStencilBufferSize(8); format.setSamples(4); view.setFormat(format);
Somehow it was using a lot of GPU.
-
Great news, thanks for sharing the solution :-)
1/5