--- title: WebWorker를 이용한 고성능 아키텍처 설계 category: Web & Performance tags: [Web Worker, Concurrency, Performance, UI responsiveness] created: 2026-04-20 --- # WebWorker를 이용한 고성능 아키텍처 설계 ## 🎯 개요 (Overview) 실시간 상태 변화가 매우 빈번한 애플리케이션(예: 게임, 시뮬레이션)에서 UI 스레드와 복잡한 연산 로직을 분리하여 **프레임 드롭(Jank)**을 방지하는 아키텍처 설계 기법입니다. ## 🚀 주요 원칙 (Key Principles) - **스레드 분리 (Thread Isolation)**: 무거운 계산은 백그라운드 스레드(Web Worker)에서 수행하고, 메인 스레드는 렌더링에만 집중합니다. - **메시징 기반 통신 (Messaging Architecture)**: `postMessage`와 `onmessage`를 통해 비동기적으로 데이터를 주고받아 결합도를 낮춥니다. ## 💡 레슨 런 (Lesson Learned) > [!IMPORTANT] > **"성능 병목 현상은 종종 '스레딩(Threading)'의 문제이다."** > 복잡한 물리 계산이나 루프가 UI 응답성을 해치지 않도록, 연산 엔진을 완전히 별도의 스레드로 격리하는 것이 부드러운 UX의 핵심입니다. ## 🔗 연결된 지식 - [[Separation_of_Concerns]] - [[Systemic_Simulation_Principles]]