WinCE6.0: Making the UI faster

I am building a full screen UI application on Win CE 6.0 device with touch
screen. There are 30 different screens in the UI and each screen is a jpg
file. Each file is around 60KB.
Initially I tried to add all the images as resources and that increased the
application size to 1.7 MB (from 200KB) and I couldn't run that because of
RAM resources.

So, now I am accessing the images from SD card. Eachtime the user touches
the screen, Iam Disposing the current image and importing a new image from
SD, converting that into bitmap and finally displaying the image. This
process is creating a delay of around 1 sec which is noticeable.

What's the best way to handle "Picture slideshow" kind of applications?
(reducing the delay is the main criteria).

I have also tried to access the images from NAND Flash and it's also taking
around 1 sec with the applicaiton (it's a managed application with .net CF2).

Any suggestions on how to handle this?. Thanks in advance for your help.

Who is Participating?
pgnatyukConnect With a Mentor Commented:
One more possible way is load images in a separate thread. Of course control the memory - for example, keep in the memory 3-5 loaded images. When the third image is on the screen, the thread can release the first image and load the sixth.
60k is a reasonably large file size for the resolution of a machine running ce , is it not possible to convert the jpg to a vector thus reducing the file size?

incidently what is the screen resolution?
a typical screenshot of one of the pages might help too, just to see the detail of the image to be displayed
If the size on the SD-card is not a problem, I'd propose to to keep all images in a "raw" format.
Make a convertor that will load all jpeg images, convert them into the standard DIB section and save the bitmap header and the bit array. So the loading from the main app will be trivial - allocate memory for the BITMAPINFO, load the header, create DIB section and copy the bit array from the saved data into the DIB section.
Atually all that happens when you load JPEG, but in this way you will not unpack the data. So another option can be to find a faster JPEG loader. What you use now?
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.