Document Reflows
Document Reflows는 성능 최적화(Performance Optimization)에 영향을 미치는 요소 중 하나이다.
Document Reflows
문서 내 요소의 위치, 도형을 다시 계산하기 위한 웹브라우저 프로세스의 이름
Reflows trigger
브라우저 창 크기 변경
스타일을 계산하는 자바스크립트 메서드 사용
DOM 요소 추가, 삭제
클래스 변경
Prevent Layout thrashing
Read - Write 구조가 반복적으로 사용된다면, 최초에 그려진 레이아웃은 무효화되고 다시 리플로우 하게 된다.
// Read
var h1 = element1.clientHeight;
// Write (invalidates layout)
element1.style.height = (h1 * 2) + 'px';
// Read (triggers layout)
var h2 = element2.clientHeight;
// Write (invalidates layout)
element2.style.height = (h2 * 2) + 'px';
아래와 같이 분리해서 작성하면 된다.
// Read
var h1 = element1.clientHeight;
var h2 = element2.clientHeight;
// Write
element1.style.height = (h1 * 2) + 'px';
element2.style.height = (h2 * 2) + 'px';
// document reflows at end of frame
width, height와 같은 레이아웃 속성의 변경은 특정 요소의 위치와 크기 파악에 오랜 시간이 걸린다.
CSS flexbox를 사용하면 성능에 도움이 된다.
Last updated