Imageloader.save в ByteArrayOutputStream мучительно медленно - PullRequest
0 голосов
/ 03 февраля 2011

Есть ли способ ускорить метод SWT imageLoader.save()?Я должен сжать необработанные изображения в JPEG.Сжатие большого изображения размером 1680 x 1050 пикселей занимает 130 - 250 мс.
Я только бенчмаркирую imageLoader.save(bos, SWT.IMAGE_JPEG);.
- Я что-то упустил?
- Есть ли другой, более быстрый способ сжатия большогоБайт-массивы / изображения?

Любая помощь будет оценена

1 Ответ

2 голосов
/ 03 февраля 2011

Вы инициализируете ByteArrayOutputStream конструктором по умолчанию? Размер по умолчанию для внутреннего буфера составляет всего 1024 байта, поэтому объект будет постоянно добавлять новые буферы каждый раз, когда вы превышаете его размер. Вы должны быть в состоянии придумать некоторый базовый верхний предел размера изображения и инициализировать BAOS к этому. Это может сократить время ожидания.

...