Solved

WinCE6.0: Making the UI faster

Posted on 2009-07-14
4
371 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

Windows Server 2016: All you need to know

Learn about Hyper-V features that increase functionality and usability of Microsoft Windows Server 2016. Also, throughout this eBook, you’ll find some basic PowerShell examples that will help you leverage the scripts in your environments!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

A Bare Metal Image backup allows for the restore of an entire system to a similar or dissimilar hardware. They are highly useful for migrations and disaster recovery. Bare Metal Image backups support Full and Incremental backups. Differential backup…
In this article, I will show you HOW TO: Perform a Physical to Virtual (P2V) Conversion the easy way from a computer backup (image).
Windows 8 came with a dramatically different user interface known as Metro. Notably missing from that interface was a Start button and Start Menu. Microsoft responded to negative user feedback of the Metro interface, bringing back the Start button a…
Windows 10 is mostly good. However the one thing that annoys me is how many clicks you have to do to dial a VPN connection. You have to go to settings from the start menu, (2 clicks), Network and Internet (1 click), Click VPN (another click) then fi…

777 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