Solved

WinCE6.0: Making the UI faster

Posted on 2009-07-14
4
362 Views
Last Modified: 2013-12-05
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.
Thanks,
K



0
Comment
Question by:ukalyan
  • 2
  • 2
4 Comments
 
LVL 4

Expert Comment

by:bullmonkey
ID: 24855526
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?
0
 
LVL 4

Expert Comment

by:bullmonkey
ID: 24855539
a typical screenshot of one of the pages might help too, just to see the detail of the image to be displayed
0
 
LVL 33

Expert Comment

by:pgnatyuk
ID: 24857145
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?
0
 
LVL 33

Accepted Solution

by:
pgnatyuk earned 500 total points
ID: 24857164
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.
0

Featured Post

Enabling OSINT in Activity Based Intelligence

Activity based intelligence (ABI) requires access to all available sources of data. Recorded Future allows analysts to observe structured data on the open, deep, and dark web.

Join & Write a Comment

For a variety of reasons, it sometimes makes sense to reboot a Windows-based computer on a regular, perhaps daily basis. This "cures" a lot of ills by resetting processes, flushing caches, refreshing memory, and reestablish network connections. In a…
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
This video Micro Tutorial explains how to clone a hard drive using a commercial software product for Windows systems called Casper from Future Systems Solutions (FSS). Cloning makes an exact, complete copy of one hard disk drive (HDD) onto another d…
The Task Scheduler is a powerful tool that is built into Windows. It allows you to schedule tasks (actions) on a recurring basis, such as hourly, daily, weekly, monthly, at log on, at startup, on idle, etc. This video Micro Tutorial is a brief intro…

747 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now