--- category: Unified tags: [auto-consolidated, technical-documentation] title: [[GPU 가속 및 컴포지팅|GPU 가속 및 컴포지팅]] last_updated: 2026-05-02 --- # [[GPU 가속 및 컴포지팅|GPU 가속 및 컴포지팅]] ## 📌 Brief Summary GPU 가속 및 컴포지팅은 브라우저의 메인 스레드에서 처리하던 애니메이션 작업을 기기의 GPU(그래픽 처리 장치)로 위임하여 웹 성능을 크게 향상시키는 기술입니다 [1]. 이 기법을 사용하면 비용이 많이 드는 브라우저의 레이아웃(Reflow) 및 페인트(Repaint) 단계를 건너뛰고, 오직 컴포지트(Composite) 단계만을 실행하여 렌더링 부담을 줄일 수 있습니다 [2]. 특히 모바일 기기나 저사양 환경에서도 초당 60프레임(60 FPS)의 매끄러운 애니메이션을 달성하는 데 핵심적인 역할을 합니다 [2-4]. --- > GPU(Graphics [[Processing|Processing]] Unit)는 실시간 3D 그래픽 렌더링과 병렬 연산 처리에 최적화된 하드웨어 장치이다 [1]. 최신 GPU는 수천 개의 프로세싱 코어를 갖추고 있어 그래픽 렌더링뿐만 아니라 물리 시뮬레이션, AI 추론 등 범용적인 병렬 작업에 뛰어난 성능을 발휘한다 [2, 3]. 웹 환경에서는 [[WebGL|WebGL]] 및 [[WebGPU|WebGPU]]와 같은 그래픽 API를 통해 제어되며, 셰이더(Shader) 프로그램을 하드웨어 수준에서 매우 빠른 속도로 실행하여 시각적 결과물을 만들어낸다 [1, 4]. ## 📖 Core Content * **픽셀 파이프라인과 컴포지트 단계:** DOM 요소가 변경될 때 브라우저는 '스타일 재계산 -> 레이아웃(Reflow) -> 페인트(Repaint) -> 컴포지트(Composite)'로 이어지는 픽셀 파이프라인을 실행합니다 [5]. 애니메이션 성능을 극한으로 끌어올리기 위해서는 전체 파이프라인을 다시 거치지 않고, 마지막 컴포지트 단계만을 유발하는 속성을 사용하는 것이 중요합니다 [2]. * **GPU 가속을 유발하는 속성:** 브라우저가 특정 애니메이션을 자동으로 GPU로 보내도록 만들 수 있습니다 [1]. 대표적으로 `transform`과 `opacity` 속성이 이를 지원하며, 리플로우나 리페인트 없이 GPU 가속을 통해 애니메이션을 처리합니다 [2, 6, 7]. 추가로 `transform: translateZ()`나 `rotate3d()` 같은 3D 변환, `position: fixed`, 그리고 `will-change` 속성이 적용된 요소나 `