[Interest] QtQuick/QML performance issue

VStevenP vstevenpavao at yahoo.com
Fri Jan 10 20:25:42 CET 2014


'top' on Ubuntu reports a reasonable number of 5% CPU when editing my simple Knob widget when there are lots of other idle widgets in the app.  On BeagleBoard-xM, 'top' shows 45%.  That's quite a variation for 'top' on the 2 Linux-based systems.

I am using EGLFS.  When I run QML Profiler locally on my app on either Ubuntu or Mac, it shows that the app runs nice and lean on each of those platforms.

It is my understanding that invoking qmlscene directly is good for prototyping, but not recommended for a delivered product.  I am not invoking qmlscene directly because I am beyond prototyping, and because qmlscene is not for production, and also because I have custom C++ classes which I expose to QML language via qmlRegisterType().  So, I need a .pro file which results in building an executable.

I will try to run a QML Profiler (External) session against my app when it is running on the BB-xM.  I'll run QtCreator on Mac or Ubuntu for this. To achieve this, I think I must do another cross-build of qt 5.2 where I must reconfigure for -debug, and I wonder if I also have to add QML_DEBUG to the CONFIG in the .pro file.  QML Debugging checkbox is enabled in my project, so I think I may not need to manually add QML_DEBUG.

Any way, it seems strange that 'top' on BB-xM/Angstrom would report wildly different results than 'top' on Ubuntu.

- VStevenP


________________________________
 From: Jason H <scorp1us at yahoo.com>
To: interest <interest at qt-project.org>; VStevenP <vstevenpavao at yahoo.com> 
Sent: Friday, January 10, 2014 12:28 AM
Subject: Re: [Interest] QtQuick/QML performance issue
 


I would not trust top. How it is counting the time slices and how you are using them may not match reality.  I would try to overload it, rather than say 20 is half of your processing power. 
Some things take different amounts of CPU, but take time slices. On that board you should be hardware GL and using qmlscene, either way drawing is minimal.  The only qurstion is how much Java script you are running? 
Sent from Yahoo Mail on Android 



________________________________
 From:  VStevenP <vstevenpavao at yahoo.com>; 
To:  interest <interest at qt-project.org>; 
Subject:  [Interest] QtQuick/QML performance issue 
Sent:  Thu, Jan 9, 2014 8:02:06 PM 


I'm trying to understand a curious performance problem I observe in my QtQuick apps.

First off, here's something good:  If I have a simple app that contains one Knob widget, editing that knob causes 'top' to show a CPU% of ~7% (typical) and ~15% (max).  When the app is idle, top reports CPU% of 0.  This is all good.

However, if I add 20 different widgets to the app, then do the same edit test on that single Knob, 'top' shows a CPU range that is now in the ~30-40% range and ~45% (max).    When the app is idle, top again reports CPU% of 0.

Why does the single edited Knob appear to use so much more processing power when there are a number of other idle widgets in the QtQuick app?

I am observing this on a BeagleBoard-xM, which is a supported platform for Boot to Qt.  I have cross-built Qt 5.2 for ARM with configure -release.  The BeagleBoard-xM is running at top
 speed on the GPU and CPU (400/1000).  DVFS features are not engaged.

I really needs to find out if I can make a Qt Quick app which runs on the BB-xM that can have a couple dozen widgets and when I use one of them, it will not use so much of the CPU.


Does anybody have any ideas how to avoid this problem?

- VStevenP
_______________________________________________
Interest mailing list
Interest at qt-project.org
http://lists.qt-project.org/mailman/listinfo/interest 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20140110/5922b245/attachment.html>


More information about the Interest mailing list