[Interest] [5.8] how to use qml caching?

Tim Blechmann tim at klingt.org
Tue Nov 15 00:30:27 CET 2016


hi gunnar,

thanks a lot for your reply!

> from  https://wiki.qt.io/New_Features_in_Qt_5.8i:
> 
> 	• Implemented caching of code and data structures generated from .qml/.js files to disk to reduce start-up time and memory consumption. The resulting .qmlc and .jsc cache files are memory mapped.
> 
> This all happens automatically on the first run.
> 
> See also  https://blog.qt.io/blog/2016/09/05/qt-5-8-alpha-released/
> QML caching
> 
> The QML engine has also seen some major improvements with a new caching infrastructure, that can cache the QML files in a precompiled binary form. This infrastructure does help to significantly speed up loading of QML applications once the binary cache has been created. It also helps reduce memory consumption. Ahead of time compilation of Qt Quick continues to be supported through the commercial Qt Quick Compiler.

yes, those are the links that i've read and that left me quite clueless
on now it is supposed to be used. the information "happens automatically
on the first run" was what i'm missing, though.

so, just to rephrase this with my own words:

* .qmlc and .jsc are not generated at compile-time and not shipped
inside the qrc file, but are created at run-time

* instead they are created when running the application for the first time.

* it does not improve the instantiation times of the first execution, as
the cache hasn't been warmed up, yet.


which leads me to more questions:

* is there a way to configure the location where the cached files will
be stored?

* is it possible to warm up the cache explicitly without instantiating
the qml files completely? e.g. i'd like to create the cache for all qml
files that will be instantiated during the lifetime of the program at
startup time in order to hide latencies when they are actually loaded.

thanks a lot,
tim

> 
> Regards,
> Gunnar Roth
> 
> 
>> Am 14.11.2016 um 15:42 schrieb Tim Blechmann <tim at klingt.org>:
>>
>> hi all,
>>
>> i've read a lot about qml caching in qt-5.8. however i didn't find any
>> documentation on how to use it.
>>
>> is there any documentation on how we can use it from a cmake
>> buildsystem? i suppose somehow the qrc files need to be pre-processed to
>> generate the qmlc/jsc files?
>>
>> thanks a lot!
>>
>> tim





More information about the Interest mailing list