성능: 변환 가능 속성과 다시 그리는 속성
GPU 가속을 받는 속성과 비용이 큰 레이아웃 다시 그리기를 유발하는 속성을 학습합니다.
성능: 변환 가능 속성과 다시 그리는 속성은(는) CoddyKit의 무료 CSS Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 CSS Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. CSS Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
렌더링 파이프라인
브라우저는 레이아웃(크기 + 위치) → 페인트(픽셀) → 합성(GPU 레이어 병합)의 세 단계로 렌더링합니다. 더 앞선 단계를 실행시키는 속성을 애니메이션하면 비용이 많이 듭니다.
레이아웃을 실행시키는 속성
이러한 속성을 변경하면 브라우저가 페이지 전체 또는 상당 부분의 레이아웃을 다시 계산해야 합니다. 애니메이션에 사용하지 마세요.
width,heightmargin,paddingtop,leftfont-sizedisplay
페인트를 실행시키는 속성
이러한 속성은 레이아웃을 건너뛰지만 픽셀을 다시 그립니다. 성능 비용은 보통 수준입니다.
background-colorcolorbox-shadowborder
합성만 실행하는 속성
이러한 속성은 레이아웃과 페인트를 모두 건너뛰므로 브라우저는 미리 래스터화된 레이어를 합성하기만 하면 됩니다. 매우 저렴하며 GPU 가속을 사용합니다.
transformopacity
CSS 애니메이션의 황금 법칙
부드러운 60fps 애니메이션을 만들려면 transform과 opacity만 애니메이션하세요. top/left 대신 transform: translate()를 사용하고, display 페이드 대신 opacity를 사용하세요.
<div class="box demo-active">Box</div>변경 예정 속성
will-change는 애니메이션이 시작되기 전에 브라우저에 요소를 자체 GPU 레이어로 승격하도록 알려 애니메이션 중간에 발생하는 "승격 플래시"를 방지합니다.
<div class="animated">Animated</div>변경 예정 속성: auto
애니메이션이 끝난 후에는 will-change: auto로 설정하거나 속성을 완전히 제거하세요. 너무 많은 요소를 승격된 상태로 유지하면 GPU 메모리가 낭비됩니다.
DevTools로 측정하기
Chrome DevTools의 Performance 탭을 사용해 프레임 시간을 기록하고 검사하세요. Rendering 탭에서는 페인트 플래시(초록색 오버레이)를 표시하여 각 프레임에서 어떤 요소가 다시 그려지는지 확인할 수 있습니다.
top/left 대신 변환 사용하기
가장 효과적인 최적화 방법은 위치 애니메이션을 변환으로 바꾸는 것입니다.
<div class="fly demo-active">Fly</div>색상 전환 비용
배경색 전환은 다시 그리기를 실행하지만 레이아웃은 실행하지 않습니다. 작은 요소에는 사용해도 괜찮습니다. 큰 배경에는 대신 불투명도 전환을 사용하는 의사 요소를 고려하세요.
<button class="btn demo-active">Hover me</button>contain 속성
contain 속성은 요소와 그 하위 트리가 서로 독립적임을 브라우저에 알립니다. 이를 통해 레이아웃 무효화 범위를 제한하고 다시 그리기 성능을 향상할 수 있습니다.
<div class="widget">Widget</div>빠른 확인
레이아웃이나 페인트를 실행하지 않고 합성 단계에서 애니메이션할 수 있는 CSS 속성 두 가지는 무엇인가요?
복습
레이아웃 속성(width, top, margin)을 애니메이션하면 비용이 큰 재계산이 실행됩니다. 페인트 속성(color, background)은 더 저렴합니다. transform과 opacity만 레이아웃이나 페인트를 실행하지 않고 GPU 합성 단계에서 애니메이션됩니다. 부드럽고 성능이 좋은 애니메이션을 위해 항상 이 속성들을 우선 사용하세요.
자주 묻는 질문
“성능: 변환 가능 속성과 다시 그리는 속성” 강의는 무료인가요?
네 — “성능: 변환 가능 속성과 다시 그리는 속성” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 CSS Academy 강의 전체를 잠금 해제할 수 있습니다. CSS Academy 강의에는 총 4개의 강의가 포함되어 있습니다.
“성능: 변환 가능 속성과 다시 그리는 속성”에서 뭘 배우나요?
GPU 가속을 받는 속성과 비용이 큰 레이아웃 다시 그리기를 유발하는 속성을 학습합니다. 브라우저에서 직접 실행하는 실습 코드로 CSS Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.
CSS Academy을(를) 시작하는 데 경험이 필요한가요?
사전 경험은 필요하지 않습니다. CoddyKit의 CSS Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.
“성능: 변환 가능 속성과 다시 그리는 속성” 강의는 얼마나 걸리나요?
대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.
이 CSS Academy 강의에서 코드를 작성하고 실행할 수 있나요?
네. 모든 CSS Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.
이 강의의 모든 강의
- 전환 속성, 지속 시간 및 타이밍
- 이징 함수: ease, linear, cubic-bezier
- 여러 속성 전환
- 성능: 변환 가능 속성과 다시 그리는 속성