-
간단 메모 - 렌더 트리, 크리티컬 렌더링 패쓰Web Dev/8. 메모 2021. 6. 14. 00:59728x90
나만 그런건진 모르겠는데, 뭘자꾸 알고나면 계속 까먹는다...
렌더트리란?
브라우저는 DOM이라는 것과 CSSOM을 가지는데 앞에거는 문서 구조그리는거고, 후자는 스타일을 관리하는거다. 브라우저는 이걸 두개를 합쳐가지구 렌더트리를 만들어서 화면에 그린다.
DOM+CSSOM을해서 화면에 보여질거를 렌더트리에 포함시키는 것이다. 이때 레이아웃을 계산하는데 렌더트리가 쓰이고 이걸 통해서 화면에 페인트를 칠한다.
이 렌더트리를 통해서 기기의 뷰포트내에 어디에 그릴지 계산하는 것을 layout단계라고 하고, 이를 reflow라고 부르기도 한다고 한다. 그리고 추후에 이걸로 화면을 직접 그리는게 paint(Repaint)단계이다.
CRP(Critical Rendering Path)
주요 렌더링 경로란 브라우저가 HTML, CSS, JavaScript를 처리해서 화면에 렌더링한 픽셀로 만드는 과정을 뜻한단고 한다. 이걸 최적화 해야 초기로딩이 빠르다.
CRP 최적화
처음 렌더트리가 그려질때까지 걸리는 시간을 줄여야하는데, css는 헤더에서 호출하고, js파일은 마지막 부분에 로드해서 html 파싱이 블락이 되지 않도록 해야한다.
'Web Dev > 8. 메모' 카테고리의 다른 글
zsh 알아보기 + Terminal, console, shell, kernal 정리하기 (0) 2021.09.18 버블링과 캡처링 (0) 2021.06.17 간단메모 - 리페인트와 리플로우 (0) 2021.06.14 GraphQL아주 조금만 살펴보기 - React (0) 2021.06.05 GraphQL아주 조금만 살펴보기 - Node.js (0) 2021.06.03