2016-09-19 4 views
0

서버에서 데이터를 수신하여 화면에 표시하려고하면 브라우저가 다운되고 램이 가득 차서 어떻게 해결할 수 있습니까?처리 스케치를 실행 한 후 브라우저 크래시가 발생했습니다.

String pic ; 
PImage img; 
int x; 
int y; 
int pad = 10; 
int bs = 50; 
String[] list = new String[0]; 

void setup(){ 
    size(500,500); 
    background(150); 
    //img = loadImage(pic); 
} 

void draw(){ 
    for (int i = 0; i < list.length ; i++){ 
     x = pad + (bs+pad)*i; 
     y = pad; 
     pic = list[i]; 
     img = loadImage(pic); 
     image(img,x,y,bs,bs); 
     println(pic); 
    } 
} 
void change(String val){ 
    list = split(val," "); 
} 

답변

0

당신은 draw() 함수에서 loadImage()를 호출해서는 안 : 이것은 내 코드입니다.

draw() 함수는 매초 60 회 호출되며 전체 목록을로드하므로 매초 수백 개의 이미지가로드됩니다. 귀하의 브라우저가 그것을 처리 할 수 ​​없습니다.

이렇게 생각하십시오. 번만 번만로드해야합니다. 초당 60 번 다시로드하는 것은 극단적 인 과잉입니다.

대신 change() 함수에서로드를 수행하십시오.이 함수는 your other question에서 수행하는 방법을 설명했습니다.