Re: SLOW bitmap from Stream
- From: Freesc <hjd.click@xxxxxxxxx>
- Date: Thu, 13 Mar 2008 00:18:56 -0700 (PDT)
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
.
- Follow-Ups:
- Re: SLOW bitmap from Stream
- From: Freesc
- Re: SLOW bitmap from Stream
- References:
- SLOW bitmap from Stream
- From: Freesc
- RE: SLOW bitmap from Stream
- From: Simon Hart [MVP]
- Re: SLOW bitmap from Stream
- From: Freesc
- Re: SLOW bitmap from Stream
- From: <ctacke/>
- Re: SLOW bitmap from Stream
- From: Freesc
- Re: SLOW bitmap from Stream
- From: Simon Hart [MVP]
- SLOW bitmap from Stream
- Prev by Date: Re: Assembly conversion to Pocket Pc format
- Next by Date: Re: SLOW bitmap from Stream
- Previous by thread: Re: SLOW bitmap from Stream
- Next by thread: Re: SLOW bitmap from Stream
- Index(es):
Relevant Pages
|