Just nu i M3-nätverket
Gå till innehåll
Rest man Klaymen

MONO: långsam bild/filhantering

Rekommendera Poster

Hej!

 

Jag har konverterat ett projekt till att köra på Mono (2.0) men framför allt koden för att hämta bilder från hårddisk, skala om dem och skicka till output går mycket långsammare än förut när jag körde projektet på MS.NET.

 

Här är koden:

System.Drawing.Image fullSizeImg = System.Drawing.Image.FromStream(new FileStream(filePath, FileMode.Open, FileAccess.Read), true, false);

int size = 100;
int origWidth = fullSizeImg.Width;
int origHeight = fullSizeImg.Height;

Bitmap returnImg = new Bitmap(fullSizeImg, Convert.ToInt32(origWidth * ((float)size / (float)origHeight)), size);

Graphics oGraphics = Graphics.FromImage(returnImg);
oGraphics.DrawImage(fullSizeImg, 0, 0, Convert.ToInt32(origWidth * ((float)size / (float)origHeight)), size);
oGraphics.Dispose();

returnImg.Save(Response.OutputStream, ImageFormar.Jpeg);

 

Det är första raden, dvs att hämta bilden från disk, som tar längst tid (uppåt 0.5s för stora bilder). Detta gick många gånger snabbare på innan jag portade.

 

Jag kör på Ubuntu 9.04, därför har jag inte senaste versionen av Mono. Är det någon som vet om senaste versionen är snabbare på just detta (jag har kollat release notes men inte hittat något), eller om det finns något knep jag kan använda för att öka hastigheten? Det är varken servern eller disken som är långsam, med PHP går samma operation mycket snabbare.

 

Ett bonusproblem: att få till schysst bildkvalitet genom att manipulera ImageQuality eller AntiAliasing verkar heller inte ge några resultat alls. Nån som vet vad det kan bero på?

 

Tacksam för svar!

 

/ RMK

Jobbiga_färger.

 

Dela detta inlägg


Länk till inlägg
Dela på andra webbplatser

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Skapa ett nytt konto på vårt forum. Det är lätt!

Registrera ett nytt konto

Logga in

Redan medlem? Logga in här.

Logga in nu



×
×
  • Skapa nytt...