Qt wiki will be updated on October 12th 2023 starting at 11:30 AM (EEST) and the maintenance will last around 2-3 hours. During the maintenance the site will be unavailable.
Performance tip Use Loaders
Jump to navigation
Jump to search
QML applications can start slowly if there is a lot of QML to be parsed. This can happen if the whole application is implemented in one huge QML file. Partition our application wisely into logical entities, load minimum QML at start and load more as you need it using Loaders.
- The Loader item can be used to dynamically load and unload visual QML components defined in a QML file or items/components defined within a QML file. This dynamical behavior allows the developer to control the memory usage and startup speed of an application. More info: http://doc.qt.nokia.com/latest/qml-loader.html#details
- Partition your application into several QML files so that each file contains a logical UI entity. This way loading and unloading are easier to control. DO NOT have one huge QML file per application.
- Load absolutely minimum amount of QML at application start to make your application start as quickly as possible. You can connect to network and show spinner etc. after the application UI is visible.
- If your first view is very complex and requires lots of QML to be loaded, show a splash screen to give user the feeling that something is happening
- You should load pieces of UI only by demand e.g. when the user navigates to another view, but on the other hand it may require more time to navigate between views
- You can use environment variable QML_IMPORT_TRACE=1 to get debug output from the import loading mechanism. This output clarifies how much QML/JavaScript code is parsed at application start. http://doc.qt.nokia.com/latest/qdeclarativedebugging.html