캠핑과 개발

JAVA에서 이미지를 그리기 위한 속도는 다른 언어보다 많이 느립니다.

아래는 몇가지 이미지 작업을 하면서 참고가 될만한 팁을 소개합니다.


1. 메모리에서 변환을 수행해도 작업 속도가 향상되지 않습니다.

2. ImageIO.write 이미지에 BufferedOutputStream을 사용하면 일부 시스템에서 약간의 개선이있는 것으로 보입니다.

3. ImageIO.write는 Indexed Colorspaces에 최적화되어 있으므로 이미지를 Index Colorspace로 변환 한 다음 쓸 때가 더 빠릅니다. 

다음은 몇 가지 샘플 코드입니다.


BufferedImage indexedImage = new BufferedImage(image.getWidth(),
image.getHeight(), BufferedImage.TYPE_BYTE_INDEXED);
Graphics2D g = indexedImage.createGraphics();
g.drawImage(image, 0,0,null);
image=indexedImage;


4. JAI JPEG 디코딩은 ImageIO보다 훨씬 느립니다.

5. ImageIO.setUseCache (true)가 더 느립니다.