ImageIO. Писать медленно? - PullRequest
       9

ImageIO. Писать медленно?

5 голосов
/ 02 апреля 2012

У меня есть приложение, в котором я записываю около 25 файлов PNG на диск каждую секунду.

BufferedImage img = getBufferedImage();
// code below is very slow ~150ms.
File file = new File(count++ + ".png");
BufferedOutputStream os = new BufferedOutputStream(new FileOutputStream(file));
ImageIO.write(img, "png", os);

Обычно на вызов требуется 150 мс, а достижение 25 кадров в секунду становится невозможным.Могу ли я буферизовать ввод-вывод, чтобы не сбрасывать кадры?

1 Ответ

3 голосов
/ 02 апреля 2012

Кодирование PNG занимает некоторое время, и вы не можете улучшить его с помощью какой-либо буферизации ... если вы хотите ускорить работу, используйте BMP (который съест ваш жесткий диск) или, если качество пикселей не требуется, попробуйте JPG (который должен быть закодирован быстрее чем PNG).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...