Creation of QApplication takes a LONG time



  • I'm developing a QML app on an embedded device. Currently it takes a long time for our application to start (show a working user-interface).

    By debugging the application I have noticed the creation of QApplication object takes a long time (about 40 seconds) on our device. I have also run our application using strace and I noticed that Qt is looking for files a lot:

    @

    read(28, "VolumeWindow\tVolumeWindow.qml\nAu"..., 16384) = 293
    read(28, "", 16091) = 0
    close(28) = 0
    stat64("/i686-linux/QtQuick.1.0/qmldir", 0x8c6e13c) = -1 ENOENT (No such file or directory)
    lstat64("/i686-linux/QtQuick.1.0/qmldir", 0xbf83f4c0) = -1 ENOENT (No such file or directory)
    stat64("/work/sotas_m3/top/CI/.jenkins/workspace/Qt/host/opt/thales/usr/imports/QtQuick.1.0/qmldir", 0x8cd160c) = -1 ENOENT (No such file or directory)
    lstat64("/QtQuick.1.0/qmldir", 0xbf83f4c0) = -1 ENOENT (No such file or directory)
    stat64("/i686-linux/QtQuick.1/qmldir", 0x8c6e13c) = -1 ENOENT (No such file or directory)
    lstat64("/i686-linux/QtQuick.1/qmldir", 0xbf83f4c0) = -1 ENOENT (No such file or directory)
    @

    Is there are way to improve this? (Maybe generate a file location map so the application doesn't continously search for files? Or any other suggestions?



  • You tryed with QCoreApplication?



  • I have an user interface application, so I have to use QApplication instead of QCoreApplication:

    @
    Detailed DescriptionThe QCoreApplication class provides an event loop for console Qt applications.

    This class is used by non-GUI applications to provide their event loop. For non-GUI application that uses Qt, there should be exactly one QCoreApplication object. For GUI applications, see QApplication.@



  • That works fine for me on Symbian devices, and took less time to launch:
    @
    Q_DECL_EXPORT int main(int argc, char *argv[])
    {
    // qInstallMsgHandler(GGG_MessageHandler);
    QScopedPointer<QCoreApplication> app(createApplication(argc, argv));

    ....

    return app.exec();
    

    }
    @



  • I will try. Do you also use QML / QtQuick?



  • Yep, is a symbian belle app



  • When I use QCoreApplication the application crashes on some mouse event.

    Is there anything to do about the looking for all kinds of files:

    @
    5.lstat64("/i686-linux/QtQuick.1.0/qmldir", 0xbf83f4c0) = -1 ENOENT (No such file or directory)
    @


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.