활용 사례 뉴스
The browser's main thread is expensive
HNHacker News
웹사이트의 버벅거림(jank)은 코드가 느려서가 아니라, 브라우저 메인 스레드 하나가 장시간 점유되어 화면 갱신이나 사용자 입력 처리가 지연될 때 발생합니다.
세 줄 요약
- 성능 최적화의 핵심 원리는 작업을 한 번에 처리하지 않고, 주기적으로 메인 스레드를 양보(yielding)하여 브라우저가 프레임 업데이트 및 입력을 처리할 시간을 확보하는 것입니다.
- 메인 스레드는 계산, 렌더링, 이벤트 처리를 모두 담당하는 단일 자원이므로, 이 한정된 자원을 효율적으로 분배하고 관리하는 것이 성능 개선의 핵심입니다.
- 작업을 나눌 때는 단순히 코드를 지연시키는 것을 넘어, 프레임 주기(rAF)나 시간 간격(setTimeout)을 활용하여 브라우저가 처리할 여유 시간을 확보해야 합니다.
웹사이트의 버벅거림(jank)은 코드가 느려서가 아니라, 브라우저 메인 스레드 하나가 장시간 점유되어 화면 갱신이나 사용자 입력 처리가 지연될 때 발생합니다.