HomeAboutMeBlogGuest
© 2025 Sejin Cha. All rights reserved.
Built with Next.js, deployed on Vercel
🐣
프론트엔드 데브코스 4기 교육생
/
렌더 트리 구축 순서

렌더 트리 구축 순서

강의 자료
태그
JavaScript 문법 및 CS
작성인

질문

브라우저는 어떻게 동작할까? 를 읽다가 궁금한 점이 생겨서 질문합니다!
동작 과정 목차의 그림 2 렌더링 엔진의 동작 과정에서, DOM 트리 구축 위한 HTML 파싱 -> 렌더 트리 구축 -> 렌더 트리 배치 -> 렌더 트리 그리기로 저는 순차적인 과정이라고 이해했다가, 헷갈리는 부분이 생겨서 질문 드립니다!
  1. 렌더 트리 구축 목차를 읽어보면,'DOM 트리가 구축되는 동안 브라우저는 렌더 트리를 구축한다'고 되어 있습니다. DOM 트리 구축과 렌더 트리 구축은 동시에 일어나며, DOM 트리가 구축된 만큼 렌더 트리도 구축된다고 이해하면 맞을까요?
  1. 렌더 트리 구축에서 '렌더러는 너비, 높이, 위치와 같은 기하학적 정보를 포함한다'고 되어 있습니다.하지만 렌더 트리 배치의 설명을 읽어 보면' 렌더러가 생성되어 트리에 추가 될 때는 크기와 위치 정보는 없는데, 이런 값을 계산하는 것을 배치 또는 리플로 라고 한다' 라고 설명하고 있습니다.그렇다면 렌더 트리 구축에 렌더 트리 배치 단계가 포함된다고 봐도 무방할까요?
notion image

답변

이 블로그 읽어보시면 도움되실 것 같습니다.! [자료]
 
답변을 정리해서 올립니당
사실 제가 읽었던 글에 똑같은 내용이 있었어요... 글이 길어서 정신을 잠깐 잃었나봐요ㅠㅠ
1.
민수님이 보내주신 자료
렌더링 엔진은 더 나은 UX를 위해 가능한 빠르게 내용을 표시하기 위해 모든 HTML 파싱이 끝나기도 전에 이후의 과정을 수행(Render Tree 생성, 배치, 그리기)하여 미리 사용자에게 보여줄 수 있는 일부 내용들을 출력함제가 읽었던 글
일련의 과정들이 점진적으로 진행된다는 것을 아는 것이 중요하다. 렌더링 엔진은 좀 더 나은 사용자 경험을 위해 가능하면 빠르게 내용을 표시하는데 모든 HTML을 파싱할 때까지 기다리지 않고 배치와 그리기 과정을 시작한다. 네트워크로부터 나머지 내용이 전송되기를 기다리는 동시에 받은 내용의 일부를 먼저 화면에 표시하는 것이다.=> 즉, '모든 과정이 점진적으로 진행된다'이 1번 질문에 대한 답입니다
2.
렌더 트리 생성과 렌더 트리 배치의 차이점
렌더 트리 생성될 때는 각 노드마다 스타일 정보가 설정되어 있습니다
렌더 트리 배치(layout)는 이러한 스타일 정보를 뷰포트(브라우저 화면)의 어느 위치에 어느 크기로 출력될지 계산하는 단계입니다.
예를 들어 %, vh, vw와 같이 상대적인 위치, 크기 속성(렌더 트리의 노드에 설정된 스타일 정보)을 실제 화면에 그려지는 pixel 단위로 변환하는 것이 렌더 트리 배치(layout)에 해당합니다.
민수님이 추천해주신 자료 덕에 잘 이해했어요 감사합니다~~!