Discussion Board

Results 1 to 5 of 5
  1. #1
    Nokia Developer Champion deviouscode's Avatar
    Join Date
    Jan 2010
    Location
    Voronezh, Russia
    Posts
    24
    Hello All.

    We developed a Qt application that require a lot of small images (~300) to be installed together with executable. Currently all images are stored as usual files and it is take to long to install the application from SIS package. In average it can take up to 20 minutes to install the application from downloaded SIS package.

    In total SIS file have ~8 MB size so it can be installed much faster if somehow pack all these small files to one big data file. How it can be done in the best and Qt native way?

    We are going to use SQLite database file and we would like to know if there is any other way? As I know we can load external binary resource file but it will be placed in RAM.

    Could you please advice me how can we improve installation process of a Qt Symbian application with a lot of small files to be installed much quicker.

  2. #2
    Nokia Developer Champion danhicksbyron's Avatar
    Join Date
    Nov 2009
    Location
    Minnesota, USA
    Posts
    3,209
    If you have lots of small read-only files (eg, icons, borders, etc) then the best thing to do is to put them in a resource file. However, a resource file becomes part of the load module and hence takes up real storage in runtime RAM -- not a good thing. So the size of resource files should be limited, using one only for things that are referenced commonly and frequently.

    Otherwise, the only supported approach is to embed the files individually (though you can name them as a single directory in a single DEPLOYMENT statement).

    It would be nice if Symbian supported accessing files directly from a "mounted" ZIP file, but there is no support for this, and neither is there support in Qt for opening/reading a ZIP so you could copy the files out on install. So you'd either have to roll-your-own Qt ZIP support or dig into Symbian code (where I've heard rumors that there are interfaces for reading ZIP files).

  3. #3
    Nokia Developer Champion danhicksbyron's Avatar
    Join Date
    Nov 2009
    Location
    Minnesota, USA
    Posts
    3,209
    It would be interesting to try embedding small files in a SQL DB as BLOBs, then copying them out on install. The problem with this is that BLOBs aren't compressed like ZIP files, though this wouldn't be that big of a deal for (already compressed) image files.

    Or you could come up with your own protocol for combining files into one large one. I suspect that installing one large file will go faster than many small ones, and copying out the files after install will be faster than installing them one-by-one.

  4. #4
    Nokia Developer Champion deviouscode's Avatar
    Join Date
    Jan 2010
    Location
    Voronezh, Russia
    Posts
    24
    Thank you danhicksbyron for your reply. It seems like the best way is using SQLite for my task.

  5. #5
    Nokia Developer Champion danhicksbyron's Avatar
    Join Date
    Nov 2009
    Location
    Minnesota, USA
    Posts
    3,209
    Note that it would probably be best to not use the main DB for this, but a separate DB that is only opened for the duration needed.

Similar Threads

  1. Replies: 1
    Last Post: 2009-02-20, 01:14
  2. Replies: 2
    Last Post: 2006-11-04, 02:29
  3. pack files
    By WaelA in forum Symbian Media (Closed)
    Replies: 1
    Last Post: 2006-08-14, 08:29
  4. pack files
    By WaelA in forum Symbian C++
    Replies: 1
    Last Post: 2006-08-13, 16:46
  5. How to pack Txt files with SIS
    By Alicia_S60 in forum Symbian C++
    Replies: 3
    Last Post: 2005-02-05, 09:11

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
Nokia Developer aims to help you create apps and publish them so you can connect with users around the world.

京ICP备05048969号  © Copyright Nokia 2013 All rights reserved