[Development] Qt 5.2 Beta - is it really much slower to parse qml/javascript on android?

Ben Lau xbenlau at gmail.com
Sun Jan 19 15:49:01 CET 2014


Seem that loading from asset storage is really slow..

I am writing a QML application with around 15 QML files. The loading time
is 20 sec. I have tried to run profiler and take out many component to
speed up.

Finally , I found that just take out the statement "import ./widgets" can
reduce 10sec load time! The statement is used to load QML from other folder
with 3 QML files only.

Ofcoz , I will switch to use Qt resources. But I wonder that is the problem
of asset storage or I did something wrong with my code?



On 30 October 2013 22:06, BogDan <bog_dan_ro at yahoo.com> wrote:

> Hi,
>
>   I just checked the Qt5 assets implementation and for some reason that I
> fail to understand the assets cache mechanism from Qt4 is not there ...
> that is the reason why Necessitas is way much faster than Qt5.x :)
> I'll add the cache mechanism ASAP.
>
> Thanks!
>
> Cheers,
> BogDan.
>
>
> >
> >
> >OK. You just nailed it! After moving the files into a resource file the
> "startup" went from a little over 4 seconds to less than half second.  Just
> for context: my application has 18qml files, 2 small javascript files and
> 20 or so images and not all of them are loaded on startup!
> >
> >
> >A little surprising and a lot disappointing is that my main phone
> (android 4.1.2) seems to make the problem even worst. I tried on a Nexus7
> (android 4.3) and a 2+year old HTC inspire (android 4.2.2) and both are
> much quicker when not using the resource file (there is the possibility
> that the actual android has been improved since both of these devices have
> newer versions of it). They are still much slower than using the resource
> file.
> >
> >
> >On hindsight:
> >1. my original qml 1.0 version uses the resource file - didn't occur to
> me that this could make such a difference!
> >
> >2. The Qt 5.1 document on android suggests using the resource (
> http://qt-project.org/doc/qt-5.1/qtdoc/android-support.html) and even
> states "The most convenient option is to bundle the resources into a qrc
> file, which gets built into the application binary. This approach reduces
> the porting effort considerably and provides faster access to the
> resources. It is also a cross-platform approach, which makes porting to
> other platforms easier.". For the 5.2 version I think we should make it
> stand out with some "big bold red blinking letters (TM)" and also change
> the wizard template to use resources by default for android. It can be the
> difference between a "useless" application that takes forever to start and
> "Qt/qml is really great even on  android"!
> >
> >
> >Thanks all!
> >Felipe
> >
> >
> >
> >On Wed, Oct 30, 2013 at 4:09 AM, BogDan <bog_dan_ro at yahoo.com> wrote:
> >
> >Hi,
> >>
> >>Android's assets are indeed slower (~2X) than Qt's resource system,
> >>but not that slow ! :)
> >>
> >>If I recall correctly in the beginning of this thread Kai said that using
> >>Necessitas SDK it was ok, and I don't think he is using another technique
> >> to store the qml files than he is using for Necessitas. Also the assets
> >>implementation should be pretty much the same ... unless me (or someone
> else)
> >>screw the implementation in Qt 5.2 :).
> >>
> >>Cheers,
> >>BogDan.
> >>
> >>
> >>
> >>
> >>>
> >>> I think i know whats the issue if its still not fixed.
> >>>
> >>> My guess is that you don't use the resource system of Qt but the
> android
> >>> application assets to store your components, the last time i had issues
> >>> with this all the time was lost in the horrible slow fileengine for
> assets on
> >>> android. It looked to me it was reopening the assets all the time
> which seems
> >>> expensive.
> >>>
> >>> I haven't tried it since 5.1 but if it is not fixed its very likely the
> >>> cause
> >>> of your problem.
> >>>
> >>> Björn
> >>> Am Mittwoch, 30. Oktober 2013, 07:07:41 schrieb Koehne Kai:
> >>>
> >>>>  > -----Original Message-----
> >>>>  > From: development-bounces+kai.koehne=digia.com at qt-project.org
> >>>>  > [mailto:development-bounces+kai.koehne=digia.com at qt-project.org]
> On
> >>>>  > Behalf Of Felipe Crochik
> >>>>  > Sent: Tuesday, October 29, 2013 7:13 PM
> >>>>  > To: Hausmann Simon
> >>>>  > Cc: development at qt-project.org
> >>>>  > Subject: Re: [Development] Qt 5.2 Beta - is it really much slower
> to
> >>> parse
> >>>>  > qml/javascript on android?
> >>>>  >
> >>>>  > Simon,
> >>>>  > Quick update:
> >>>>  > I tried arm7va and got almost the same results (a very small
> >>> improvement
> >>>>  > but still over 3seconds).
> >>>>  >
> >>>>  > It doesn't seem to be related at all to my code. It seems that it
> >>> is
> >>>>  > adding some "fixed amount" of time for each component than
> >>> has to parse.
> >>>>  > It doesn't look like is related to what they are or how complex.
> >>> For
> >>>>  > instance in one of my tests I had a component that was a Rectangle
> >>> with a
> >>>>  > Text inside, by just refactoring the Text to become another
> component
> >>> I
> >>>>  > went from 1.2s load time to almost 2. The example does not include
> any
> >>>>  > javascript!!!!
> >>>>
> >>>>  Have you tried running the app with the QML Profiler attached?
> >>>>
> >>>>  See
> >>>>
> >>>>
> >>>
> http://qt-project.org/doc/qtcreator-2.8/creator-qml-performance-monitor.html
> >>>>
> >>>>  Regards
> >>>>
> >>>>  Kai
> >>>>
> >>>>  _______________________________________________
> >>>>  Development mailing list
> >>>>  Development at qt-project.org
> >>>>  http://lists.qt-project.org/mailman/listinfo/development
> >>>
> >>> --
> >>> Björn Breitmeyer | bjoern.breitmeyer at kdab.com | Software Engineer
> >>> KDAB (Deutschland) GmbH&Co KG, a KDAB Group company
> >>> Germany: +49-30-521325470, Sweden (HQ): +46-563-540090
> >>> KDAB - Qt Experts - Platform-independent software solutions
> >>>
> >>> _______________________________________________
> >>> Development mailing list
> >>> Development at qt-project.org
> >>> http://lists.qt-project.org/mailman/listinfo/development
> >>>
> >>_______________________________________________
> >>Development mailing list
> >>Development at qt-project.org
> >>http://lists.qt-project.org/mailman/listinfo/development
> >>
> >
> >
> >
> _______________________________________________
> Development mailing list
> Development at qt-project.org
> http://lists.qt-project.org/mailman/listinfo/development
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/development/attachments/20140119/0ac60311/attachment.html>


More information about the Development mailing list