Hi,
I'm experiencing significantly higher CPU usage after upgrading my application from Qt5 to Qt6 on an i.MX6 SoloX platform using the Vivante GPU with a Yocto-based BSP.
With Qt5, the application typically consumed around 40% CPU, but after migrating to Qt6, the usage has nearly doubled to ~80%. This issue is reproducible even with official Qt6 example applications.
I have verified that the application is utilizing the OpenGL backend, so hardware acceleration appears to be in use.
Is this elevated CPU usage expected behavior with Qt6 on the i.MX6SX platform? Are there any known optimizations, GPU driver configurations, or Qt6-specific settings that could help reduce CPU load?
Any guidance or suggestions would be greatly appreciated.
Regards,
Manoj S
Hello
Vivante support Qt6 but your linux version is not supported by NXP you should go with your vendor.
Regards
Hi,
We are using yocto scarthgap version, the machine is var-som-imx6. The kernel version is v6.1.138, and the Qt version is v6.8.3. The kernel-moduleimx-gpu-viv version is v6.4.11.p2.4.
This looks like ai generated slop. And the link you provide is just some religious subreddit.
Yes, elevated CPU usage with Qt6 on the i.The MX6 SoloX platform is a known issue. Qt6 introduces a more demanding rendering pipeline, and the Vivante GPU on SoloX has limited capabilities, which can lead to higher CPU load even with OpenGL acceleration.
Suggested optimizations:
- Use Qt Quick Compiler to precompile QML.
- Enable framebuffer compression and Vivante GPU tuning via BSP.
- Consider lazy loading and scene graph caching strategies.
- Use Qt Quick Controls 2 instead of legacy controls for better performance.
More insights are discussed in this NXP community thread.
Best Regards,
Thomas Henry
Hello,
Which yocto are you using? since 6.6.52 works with QT6, don.t try to update since the gpu version works according to the qt you have installed.
Regards