Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- JavaScript
- Do it
- react
- css필수 속성
- 코딩 자율학습 html + css + 자바스크립트
- css배경
- 코딩 자율학습
- css박스 모델
- do it! html+css+자바스크립트 웹 표준의 정석
- TS
- 코딩자율학습
- typescript
- 메모리와 캐시 메모리
- CPU
- 코딩
- 코딩 자율학습 html + css + 자바스크립트]
- do it! 한권으로 끝내는 웹 기본 교과서 html+css+자바스크립트 웹 표준의 정석
- Git
- HTML
- https://api.jquery.com/
- 비대칭키 암호화
- 브라우저 렌더링 원리
- CSS
- 혼자 공부하는 컴퓨터구조+운영체제
- propschildren
- 이벤트
- JS
- cpu 성능 향상 기법
- 이벤트버블링
- 자바스크립트
Archives
- Today
- Total
게으른 나에게
[웹 개발 지식] - Reflow, Repaint 본문
Reflow
웹페이지 요소의 크기 또는 위치가 변할 때, 변경된 레이아웃을 다시 계산하여 렌더 트리에 적용하는 과정
- 크기 관련 속성: width, height, padding, margin, border-width
- 위치 관련 속성: position, top, left
- 레이아웃 관련 속성: display, flex
- 폰트 관련 속성: font-size, font-weight
리플로우는 보통 CPU를 활용해 연산
Repaint
요소의 시각적 표현(색상, 테두리 등)이 변할 때, 변경된 시각적 표현을 다시 계산하여 렌더 트리에 반영하는 과정
- 색상 관련 속성: color, background-color
- 테두리 관련 속성: border-color, border-radius
리페인트는 보통 GPU를 활용하여 처리
Reflow VS Repaint
발생 조건 | 요소의 크기·위치·레이아웃 변경 | 요소의 시각적 스타일 변경 |
작업 부하 | 크고 무거움 (레이아웃 재구성) | 상대적으로 가벼움 (시각적 스타일 재적용) |
자원 활용 | CPU 중심 | GPU 중심 |
영향 범위 | 하위 요소 전체 재계산 | 해당 요소만 재계산 |
리플로우는 일반적으로 리페인트까지 유발하기 때문에, 더 큰 성능 부담을 일으킴.
리플로우 최소화 방법
- DOM 업데이트 일괄 처리 (Batch Update)
- DOM 변경사항을 한 번에 묶어 적용하여 리플로우 발생 빈도 감소
- 레이아웃 속성 접근 최소화
- offsetHeight, offsetWidth와 같은 속성을 반복 접근하지 말고, 변수를 활용하여 재사용
- 레이아웃 변화가 적은 속성 사용
- CSS의 position 속성을 쓸 때는 fixed, absolute 등 레이아웃 변화가 적은 값 사용을 권장
'My Study > CS' 카테고리의 다른 글
[웹 개발 지식] - 브라우저 렌더링 원리 (0) | 2025.04.02 |
---|---|
[클라우드 서비스] - SaaS (Software as a Service) (0) | 2025.03.25 |
[암호학] - 대칭 키 암호화와 비대칭 키 암호화 (1) | 2025.03.25 |
[CS] - 코드 최적화(Code Optimization) (0) | 2025.03.24 |
[CS] - 컴파일러(Compiler)와 인터프리터(Interpreter) (1) | 2025.03.24 |