diff options
author | Ulf Hermann <ulf.hermann@qt.io> | 2019-12-10 09:53:51 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2019-12-10 13:56:10 +0000 |
commit | 2cfa63e1f1b78ef50dfac3716aab9adf868fe151 (patch) | |
tree | f2cf0a89a1a202f96acd62463bad6cc218ac1cf1 /src/qml/doc | |
parent | f372438840da1c490bf000e8186947f3d45066e4 (diff) |
Doc: Add a section on the QML disk cache
In particular this documents how to disable or force the disk cache, and
how to specify a custom cache path.
Change-Id: I71e288ba2cd5be53a31ca71f7204b22d33b0545e
Reviewed-by: Ulf Hermann <ulf.hermann@qt.io>
Diffstat (limited to 'src/qml/doc')
-rw-r--r-- | src/qml/doc/src/qmldiskcache.qdoc | 76 | ||||
-rw-r--r-- | src/qml/doc/src/qtqml.qdoc | 2 |
2 files changed, 78 insertions, 0 deletions
diff --git a/src/qml/doc/src/qmldiskcache.qdoc b/src/qml/doc/src/qmldiskcache.qdoc new file mode 100644 index 0000000000..a32adf37c8 --- /dev/null +++ b/src/qml/doc/src/qmldiskcache.qdoc @@ -0,0 +1,76 @@ +/**************************************************************************** +** +** Copyright (C) 2019 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of the documentation of the Qt Toolkit. +** +** $QT_BEGIN_LICENSE:FDL$ +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU Free Documentation License Usage +** Alternatively, this file may be used under the terms of the GNU Free +** Documentation License version 1.3 as published by the Free Software +** Foundation and appearing in the file included in the packaging of +** this file. Please review the following information to ensure +** the GNU Free Documentation License version 1.3 requirements +** will be met: https://www.gnu.org/licenses/fdl-1.3.html. +** $QT_END_LICENSE$ +** +****************************************************************************/ + +/*! +\page qmldiskcache.html +\title The QML Disk Cache +\brief QML caches compiled documents on disk to improve load time. + +When your application loads a QML or JavaScript file for the first time, +the QML engine compiles the file into a byte code representation on the +fly and runs it. The compiling process can be time consuming, and subsequent +loads of the same document yield the same result. To optimize this step, the +QML engine can cache the result. It stores the byte code in a cache file and +later loads the cache file instead of re-compiling when the same file is +requested again. Usually the files are stored in a subdirectory \c{qmlcache} +of the system's cache directory, as denoted by QStandardPaths::CacheLocation. +Checks are in place to make sure that the cache files are only loaded if all +of the following conditions are met: +\list + \li The Qt version has not changed + \li The source code in the original file has not changed + \li The QML debugger is not running +\endlist + +The disk caching behavior can be fine tuned using the following environment +variables: + +\table + \header + \li Environment Variable + \li Description + \row + \li \c{QML_DISABLE_DISK_CACHE} + \li Disables the disk cache and forces re-compilation from source for + all QML and JavaScript files. + \row + \li \c{QML_FORCE_DISK_CACHE} + \li Enables the disk cache even when debugging QML. You cannot use the + JavaScript debugger this way. It may fail to stop at breakpoints, + for example. You can still use the QML inspector to explore the + object hierarchy, though. \c{QML_FORCE_DISK_CACHE} overrides + \c{QML_DISABLE_DISK_CACHE}. + \row + \li \c{QML_DISK_CACHE_PATH} + \li Specifies a custom location where the cache files shall be stored + instead of using the default location. + +You can also specify \c{CONFIG += qtquickcompiler} in your \c{.pro} file +to perform the compilation ahead of time and integrate the resulting byte code +directly into your executable. For more information, see \l{Qt Quick Compiler}. + +*/ diff --git a/src/qml/doc/src/qtqml.qdoc b/src/qml/doc/src/qtqml.qdoc index 68d2b66950..205cbc147d 100644 --- a/src/qml/doc/src/qtqml.qdoc +++ b/src/qml/doc/src/qtqml.qdoc @@ -155,6 +155,8 @@ Further information for writing QML applications: - essential information for application development with QML and Qt Quick \li \l{Qt Quick} - a module which provides a set of QML types and C++ classes for building user interfaces and applications with QML +\li \l{The QML Disk Cache} + - how to fine tune if and where the QML engine caches compilation results. \endlist \section2 Reference |