Project Home
Project Home
Wiki
Wiki
Discussion Forums
Discussions
Project Information
Project Info
Forum Topic - Application run taking a lot of time: (2 Items)
   
Application run taking a lot of time  
Hello,

I'm developping a Qt app on Qnx, using Qt open source.
When I start my app, it takes so much time loading lib etc... (used lib : core gui xml sql network printsupport)

Is it possible to make Qt load the minimal library needed :  core gui for example just to display the starting screen...
 and then load the rest ?

Regards,

Paul
Re: Application run taking a lot of time  
> I'm developping a Qt app on Qnx, using Qt open source.
> When I start my app, it takes so much time loading lib etc... (used lib : core
>  gui xml sql network printsupport)

Well, while Qt is well suited for Embedded deployment, it is also heavily used in Desktop enviroments with fast HDD/SSDs
. I've seen very popular apps like VLC Media Player or Skype - they are using Qt AFAIK - load a long time even on a fast
 Windows PC. So this is kinda expected and the main question is on which system you are working and from where you are 
loading. You can't expect very fast loading e.g. from an older SD Card. Getting a newer Class 10 / HC card already might
 help.

> Is it possible to make Qt load the minimal library needed :  core gui for 
> example just to display the starting screen... and then load the rest ?

It is possible, but it is not very simple. You would need to dynamically open the needed libraries at runtime instead of
 letting the linker load them. If there is a "starting screen", maybe it would make sense to use the QNX native 'screen'
 (graphics subsystem) API to just display this starting screen - this will need very short time. While the screen.. or 
better said: image, is there, you could then load your main application.

You also could write a different small, invisible application that loads all the needed Qt libraries. When later your 
real application is being started, the libs will already be in memory. Or they will at least be in the block cache of 
your devb driver (if you are using one), so make sure the cache is e.g. 64M - sometimes I've seen people trying to save 
space in the wrong spot and only specify a cache of, e.g., 2M, which doesn't make sense on a system with 1024M of RAM.

Of course, if 'fast boot' is what you need, I'd go a different way and engage directly with QNX. QNX offers a 'CSP', 
short for Custom Support Plan, which includes development and consulting work of all kind. They can tune your system to 
boot very fast, and use only the libs you really need. Mind you, QNX has tons of experience in multi-million Automotive 
projects where fast booting (e.g. in 2s incl. graphics) is needed. By ordering a CSP you can benefit from this huge pool
 of experience and knowledge.

Cheers!