Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-19213 Improved caching for QML engine
  3. QTBUG-16036

Share internal Qml types between applications

    XMLWordPrintable

Details

    • Sub-task
    • Resolution: Done
    • Not Evaluated
    • None
    • None
    • Times above were measured on Symbian, but the same issue is applicable for other platforms also.

    Description

      Share internal Qml types (which have been registered to meta object system) between applications

      We have been analyzing what is going on with the QML application launches on Symbian side. One thing we have been thinking about was, that perhaps it would be beneficial to share some things between applications. Now, for example, in every application start we're registering all the internal Qml elements one by one. This is taking significant part of time in QDeclarativeEngine initialization.

      61ms QDeclarativeEngine::QDeclarativeEngine(QObject*) (61ms in-thread, 39ms out-of-thread, 100ms both)
       60ms QDeclarativeEnginePrivate::QDeclarativeEnginePrivate(QDeclarativeEngine*)
        16ms QDeclarativeItemModule::defineModule()
        10ms QDeclarativeUtilModule::defineModule()
        01ms QDeclarativeEnginePrivate::defineModule()
      (Times presented here are mostly the in-thread times, so in case of asynchronous operations the time spent in other threads is not visible.)
      

      All the ::defineModules() are containing all together something like ~100 meta object system registrations via qmlRegisterType() -calls. Could this kind of common structures be shared on some global shareable memory chunk, which could then be shared between applications? The times above show only the registering Qml types to meta object system, but this could probably be extended to cover also the registering of non-Qml core Qt internal types. That would optimize the system more.

      This kind of sharing would probably help on both Meego and Symbian -platforms (perhaps a bit overkill on desktop though).

      There are also some other issues, which have been identified earlier (http://bugreports.qt.nokia.com/browse/QTBUG-15366) to be candidates for sharing between applications. Perhaps the solution for these could be at least partly combined.

      Also related bug report: http://bugreports.qt.nokia.com/browse/QTBUG-15920.

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            aakenned Aaron Kennedy
            iippa Iiro Kause
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes