Re: SLOW bitmap from Stream



On Mar 13, 6:51 am, Simon Hart [MVP] <srhart...@xxxxxxxxx> wrote:
I forgot to mention you arn't using anything stupid such as directX are you,
I'm assuming GDI.
--
Simon Hart
Visual Developer - Device Application Development MVPhttp://simonrhart.blogspot.com



"Freesc" wrote:
On Mar 8, 1:03 pm, "<ctacke/>" <ctacke[at]opennetcf[dot]com> wrote:
You didn't answer any of Simon's question. How big is the image?  What
format is it?  Color depth? What kind of device?  Processor speed? RAM?
etc. etc. etc...

--

Chris Tacke, eMVP
Join the Embedded Developer Communityhttp://community.opennetcf.com

"Freesc" <hjd.cl...@xxxxxxxxx> wrote in message

news:06ce049f-ea54-42f1-926d-7f6df31055db@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
On Mar 8, 5:10 am, Simon Hart [MVP] <srhart...@xxxxxxxxx> wrote:

Under half a second is not that out of the ordinary loading an image on a
device. How big is the image, on what device, how much RAM?

Calling the garbage collector is costing you, I'd get rid of that code if
I
were you.
--
Simon Hart
Visual Developer - Device Application Development
MVPhttp://simonrhart.blogspot.com

"Freesc" wrote:
Hi,there
i 'm writing an application about bitmap displaying.But i find it
works not very well because of the terrorable performance .

here's my code

/// <summary>
/// Get BMP according to the FrameNumber,then display
/// </summary>
/// <param name="FrameNo"></param>
/// <param name="FandR_Flag">direction</param>
/// <returns></returns>
public Bitmap createImage(int FrameNo, int FandR_Flag)
{
string xustr;
byte[] xutest;
xustr = "CAM";

//find image,cost about 1ms
xutest = ri.Fun_GetSpeData(xustr, FrameNo, FandR_Flag);

//read byte[] into memostream,cost about 1ms
MemoryStream ms = new MemoryStream(xutest, 0, xutest.Length);

//here cost 423ms to construct an bmp, what happened
here?!!!!!!!!!!!!!!!!!!!!!!!!
Bitmap bmp = new Bitmap(ms);

xutest = null;
ms.Close();
GC.Collect();
GC.WaitForPendingFinalizers();
GC.Collect();
return bmp;
}

Any suggestion?

Thanks in advance~

Regards,

Freesc- Hide quoted text -

- Show quoted text -

Hi,Simon

Thanks for you reply~
i would remove the GC code.

 i think 400ms is unbearable because this is a video solution, it must
be 4 or 5 frames per secend as we expect
and i can not find something like Bitmap.FromStream(new
memorystream(...)) in .NET Compactframe , so i can not prevent
constructing a new bitmap when a new frame comes
Any suggestion about that?I have to reduce the cost , but i can't find
an effective way....
thanks again~

Regards~- Hide quoted text -

- Show quoted text -

Oops~~~

sorry about that ~   :-)

each frame is an Image of  240*180 Bitmap(24bit) , we test our
application in an XScale device of 416Mhz, 128MB ROM,64MB RAM

Thanks Chris~- Hide quoted text -

- Show quoted text -

Thanks, Simon.

anyhow, my problem was solved by compress the image before load in
frame, here's my code:


string xustr;
byte[] xutest;
xustr = "CAM";
xutest = ri.Fun_GetSpeData(xustr,FrameNo,FandR_Flag);

MemoryStream ms = new MemoryStream(xutest, 0, xutest.Length);

//Compress as a 200*127 image,using the ImageUtils(by OpenNETCF.org)
IBitmapImage ibi = ImageUtils.CreateThumbnail(ms, new Size(200,
127));

Bitmap bmp = ImageUtils.IBitmapImageToBitmap(ibi);
xutest = null;
ms.Close();
return bmp;

Thank you again, both Simon & Chris

Cheers
Freesc
.



Relevant Pages

  • Re: SLOW bitmap from Stream
    ... How big is the image, on what device, how much RAM? ... Visual Developer - Device Application Development ... public Bitmap createImage ... Bitmap bmp = new Bitmap; ...
    (microsoft.public.dotnet.framework.compactframework)
  • Re: SLOW bitmap from Stream
    ... Visual Developer - Device Application Development MVPhttp://simonrhart.blogspot.com ... How big is the image, on what device, how much RAM? ... public Bitmap createImage ... Bitmap bmp = new Bitmap; ...
    (microsoft.public.dotnet.framework.compactframework)
  • Re: SLOW bitmap from Stream
    ... How big is the image, on what device, how much RAM? ... Visual Developer - Device Application Development ... public Bitmap createImage ... each frame is an Image of 240*180 Bitmap, ...
    (microsoft.public.dotnet.framework.compactframework)
  • Re: SLOW bitmap from Stream
    ... Visual Developer - Device Application Development MVP ... public Bitmap createImage ... Bitmap bmp = new Bitmap; ... each frame is an Image of 240*180 Bitmap, ...
    (microsoft.public.dotnet.framework.compactframework)
  • Re: Slow loading
    ... I have a small ASP/MS Access app that was developed on a laptop (P4 1.6 ... w.256 MB RAM). ... On the notebook the database access times are about 2-7 ... J. Paul Schmidt, Freelance ASP Web Developer ...
    (microsoft.public.inetserver.asp.db)