2013-02-22 4 views
1

HTML5 canvas 요소에 Mandlebrot set 프랙탈을 생성하는 간단한 자바 스크립트 애플리케이션을 작성하고 있습니다. 그래픽을 생성하는 알고리즘은 쉽게 병렬 처리가 가능하므로 WebWorkers를 사용하여 화면을보다 관리하기 쉬운 덩어리로 만들었습니다. WebWorker를 대량으로 생성 할 때 몇 가지 문제가 발생합니다. 브라우저 특정 것으로 보입니다.Chrome/Firefox에서 많은 수의 WebWorker 생성하기

크롬 : WebWorkers가 32 페이지에서 64 페이지 사이에서 생성됩니다. 이상한 부분은 WebWorkers가 실행을 마치면 파기되지 않는 것입니다. 예를 들어 32 개의 WebWorkers로 시뮬레이션을 한 번 실행하면 문제가 없지만 시뮬레이션을 다시 실행하면 (페이지를 다시로드하지 않고도) 페이지가 종료됩니다.

파이어 폭스 : 파이어 폭스 그냥 WebWorkers의 특정 번호를 산란 후 제공한다는 것, 그리고 그것은 WebWorkers의 일련 번호가 완료 (32), 나머지보다 결코 마무리하지, 어떤 불확실한 상태로 존재하는 것입니다 실행. 나는 Firebug의 오류 콘솔에 출력을 얻지 못한다.

Safari : Safari는 수많은 WebWorkers를 완벽하게 스폰하는 유일한 브라우저입니다. 여기에 문제 없습니다.

IE : 누가 신경 써?

브라우저 관련 문제에 대한 해결책을 갖고 있거나 적어도 이러한 문제의 원인을 알고있는 사람이 있습니까?

+0

근로자 (이 배경 스크립트는 여기에서 호출 됨)는 상대적으로 무거 우므로 대규모로 사용하지 않아야합니다. -> [source] (http://dev.w3.org/html5/workers/#scope) – williamC

+0

다른 브라우저가 다른 한계에 도달 한 것처럼 보일 것입니다. [여기에 관련 질문.] (0120)을 참조하십시오. –

+0

페이지에 연결할 수 있습니까? 당신의 노동자들이 해고 중이 아니거나 ..... –

답변

0

당신은 작업 완료 후 직원을 차단하는 worker.terminate(); 성명을 가지고 있습니까? 이것은 확실히 차단제가 될 수 있습니다.