1
나는 더 나은 퍼포먼스가 필요한 오래된 자바 애플릿을 가지고있다.getImage() performance
내가의 충당 사용이와
getToolkit().getImage(imageURL)
내 문제 것은 다음과 같습니다
그것은 이미지 하나 하나를로드
요청을 평행하지 않습니다 솔기있는 모든 http keep-alive 플래그는 각 이미지에 대해 새로운 tcp 연결을 엽니 다. 그리고 연결을 닫지 마십시오.
http keepalive 기능을 사용하여 이미지를 병렬 처리하는 솔루션이 있습니까?
public class test
{
Map<String, URL> urlList = new HashMap<String, URL>();
urlList.put("test", "/test.jpg");
urlList.put("grrr", "/grrr.jpg");
urlList.put("htutz", "/htutz.jpg");
urlList.put("fsdfgf", "/fsdfgf.jpg");
urlList.put("fdgsfd", "/fdgsfd.jpg");
urlList.put("fdgtzt", "/fdgtzt.jpg");
urlList.put("reterg", "/reterg.jpg");
urlList.put("ssdfsfdgsfd", "/ssdfsfdgsfd.jpg");
for (URL imageUrl: urlList) {
{
new ImageExample(imageUrl);
}
}
public class ImageExample extends JApplet {
Image image;
public void ImageExample(URL imageUrl) {
image = getToolkit().getImage(imageUrl);
}
public void paint(Graphics g) {
g.drawImage(image, 20, 20, this);
}
@Override
public void draw(Graphics g)
{
paint(g);
}
}
어떻게 당신이 "평행하지 않은"방법으로 이미지 읽기 제안 않습니다 (캐시를 사용하지 않습니다 때문에)? 이것은 물리적으로 어떻게 가능한가? 프로그램은 필요할 때마다 이미지를 다시 읽습니까? 그렇다면 이미지가 충분히 작 으면 한 가지 가능한 개선점은 이미지를 메모리에 유지하고 이미지를 다시 읽지 않고 다시 사용하는 것입니다. 그러나 프로그램에 대해 더 많이 알지 못하면 특정 rec를 제공하기가 어렵습니다. –
이미지를 평행하게 처리하는 것이 좋지만 이미지는 연속으로로드됩니다. 새로운 예를 보아라. 목표는 가능한 한 빨리 처리하는 것입니다. – GreenRover