Cześć.
Zgodnie z moim nickiem chciałbym aby mój program zapisywał bardzo szybko duże obrazy do pamięci.
Np obraz o wielkości 8000x8000 aplikacja zapisuje w 1600 milisekund, a chciałbym aby wynik wynosił około 500 milisekund.
Aplikację testowałem na dwóch wariantach:
1.)
EncoderParameter qualityParam = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, 75L);
EncoderParameters encoderParams = new EncoderParameters(1);
encoderParams.Param[0] = qualityParam;
ImageCodecInfo jpegCodec = GetEncoderInfo("image/jpeg");
image.Save(this.MyImage, jpegCodec, encoderParams);
Uwagi:
- this.MyImage to atrybut klasy o typie MemoryStream
- Zmniejszenie jakości zapisu nie zwiększyło prędkości.
2.)
image.Save(this.MyImage, ImageFormat.Jpeg);
Uwagi:
- Prędkość wykonywania identyczna jak wyżej.
Ma ktoś może pomysł jak wykonać to szybciej? Około 500 milisekund byłoby świetne, ale poniżej jednej sekundy już jest i tak dobrze.
Niestety z podanymi wyżej kodami prędkość wynosi 1600 milisekund co jest niezadowalającym wynikiem.
Prosze o jakieś rady, kody lub cokolwiek co mogłoby mi pomóc.