Qt5 QtQuick GUI Slow Performance in TorizonCore Only

Hi Toradex Community,

I am currently running the following configuration:

  • Apalis iMX6
  • TorizonCore Version 6.1.0-Build.1
  • Weston Container
  • Qt Quick container: Developing a Qt5 GUI application

This GUI application was ported from a Boot2Qt image, which was also running on the same hardware. In this case, it is very responsive and actions following buttons presses looked instant from a user perspective.

In the case of the TorizonCore image, the slow performance is very noticeable, an action can sometimes take up to 1-2 seconds before a page changes or other. It makes it unusable for the user.

Looking at the performance using docker stats, I can see the CPU usage jumping to 88-130% whenever I press a button and it lags.

I was wondering if this is an expected limitation from containers, or if there was a way to increase the CPU limit per container (if any?) or any other setting change that could help this decrease in performance?

Thank you.
Anthony

Hi @anthonyabboud !

Interesting question! :grin:

I assume you are using torizon/weston, right? Have you tried with torizon/qt5-wayland? Reference: Debian Containers for Torizon | Toradex Developer Center

Best regards,

Hey @henrique.tx !

There might be a bit of a confusion on my side regarding which one’s being used. See below.

I am doing my development via Visual Studio Code. Upon using the “export docker-compose file” command, we see that my custom container depends on torizon/weston:

However, upon viewing the Dockerfile.release generated, the I see that the Qt app Image is based on torizon/qt5-wayland:

image

NOTE: Both selection were auto-selected by the extension upon creating the project.

So I’m understanding that right now, I’m building a qt5-wayland based image that is trying to run on a weston based container? So weston on my docker-compose should be qt5-wayland instead? Is there a way to change this selection via the VS Code extension?

Hopefully I understood that right.

Thanks!
Anthony

Hi @anthonyabboud !

Thanks for the information.

You are indeed using torizon/weston, which will be your compositor, and torizon/qt5-wayland as a base for your application (as you see in your application’s Dockerfile). IIRC, it is alright.

I asked you to check the containers because seems like you are not being able to use the GPU. But the containers you are using are the recommended ones.

Is it possible that your application is not using some Qt specifics that would allow you to take advantage of the GPU?

In which version of Qt your application in Boot2Qt is running well?

As a side note, it is preferable to share text/source code as text instead of an image/screenshot :wink:

Also, for completeness, which version of the VSCode Extension for Torizon are you using?

Best regards,

1 Like

Hi @henrique.tx ,

Is it possible that your application is not using some Qt specifics that would allow you to take advantage of the GPU?

No, I did not set anything special in my Qt project to use GPU acceleration! It didn’t feel necessary on the Boot2Qt image so no research was done on that side by the previous Dev team.

In which version of Qt your application in Boot2Qt is running well?

In Boot2Qt, Qt version 5.12.4 is used. In the case of Torizon, I use version 5.15.

Also, for completeness, which version of the VSCode Extension for Torizon are you using?

Version 1.5.1

Thanks.
Anthony

Hi @anthonyabboud !

Could you please share a minimal application/project that I can use to try to reproduce the issue?

Please note that the minimal aspect is really important.

Best regards,