Недавно я обнаружил, что библиотека ImageIO, которую я использовал, записывала изображения в байтовые массивы/потоки невероятно медленно и переключалась с
BufferedImage img;//initialized elsewhere
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ImageIO.write(img,"png",baos);
to
BufferedImage img;//initialized elsewhere
byte[] argb = ((DataBufferByte) img.getRaster().getDataBuffer()).getData();
Хотя этот второй метод почти в 70 раз быстрее, я не могу найти быстрый способ воссоздать BufferedImage из этого массива байтов argb.