웹 워커로 메인 스레드 블로킹 해결… 1500x1500 이미지 색상 추출 시간 1초에서 70ms로 단축
·2022.03.24 09:00
핵심 내용
1500x1500 이미지 색상 추출 시 메인 스레드 단독 처리(1016.70ms) 대비 16개 워커 분산 처리 시 한 워커당 완료 시간을 69.89ms로 단축했다.
1 / 3
자세히 보기
Canvas API를 이용해 이미지 픽셀 데이터를 RGB 값으로 변환하고 Set 자료구조에 취합하는 과정에서 메인 스레드 블로킹이 발생할 수 있다. 이를 해결하기 위해 Web Worker를 사용하여 연산을 백그라운드 스레드로 분리했다. Intel Core i9 프로세서 환경에서 1500x1500 크기의 이미지를 처리할 때, 메인 스레드 단독 처리 시간은 1016.70ms였으나, 16개의 워커로 작업을 분할할 경우 한 워커당 완료 시간은 69.89ms까지 감소했다. 이를 통해 메인 스레드의 UI 응답성을 유지하면서도 무거운 데이터 처리의 대기 시간을 효과적으로 줄일 수 있음을 확인했다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.