23.2.3[브라우저 렌더링]

0

항해99

목록 보기
104/108

참고블로그
참고블로그2

브라우저 렌더링 과정 간단히 알아보기

저번 면접 때 브라우저 렌더링 과정을 리렌더링 과정과 헷갈려서 헛소리를 하다 온 경험이 있다. 마침 유튜브에서 괜찮은 자료도 봤고(테코톡) 찾아서 공부해놓는 것이 좋을 것 같아 간단히라도 정리하려고 써본다.

면접용 정리

  • HTML 파일과 CSS 파일을 파싱해서 각각 DOM Tree로 만드는데 파싱이라고 합니다. 그리고 두 트리를 결합하여 렌더링 트리를 만드는데 이를 스타일이라고 합니다. 렌더링 트리에서 각 노드의 위치와 크기를 계산하는데 이를 레이아웃이라고 합니다. 계산된 값을 이용해 각 노드를 화면상의 실제 픽셀로 변환하고 레이어를 만드는데 이를 페인트라고 합니다. 이때 스타일이 복잡할수록 페인트 시간이 늡니다. 레이어를 합성하여 실제 화면에 나타내는데 이를 컴포짓이라고 합니다.

이 정도 정리해봤는데 각각 하나씩 알아보려고 한다. 깊게 알아야 대답도 깊게 들어왔을 때 할 수 있을 것 같아서 말이다.

과정 각각 정리

0. 렌더링

  • Server로부터 HTML, CSS, JS등으로 작성한 파일을 받아 브라우져에 보여주는 것을 말한다.

1. 파싱

  • 웹 엔진의 HTML/XML 파서가 문서를 파싱해 돔트리, CSSOM 트리를 생성

2. 스타일

  • 돔트리 + CSSOM 트리, 렌더링에 필요한 노드만 선택해 페이지를 렌더링하는데 사용

3. 레이아웃

  • 렌더트리를 토대로 그려질 노드와 스타일, 크기를 계산하는 과정
  • 렌더링 트리에서 위치, 크기를 알 수 없어서 객체들에게 위치, 크기 등을 정해주는 과정

    일종의 계산 과정 같음

4. 페인트

  • 렌더트리의 각 노드를 실제 픽셀로 변환하여 그리는 작업을 실행하는 것

5. 컴포짓

  • 페인트 단계에서 생성된 레이어를 합성하여 실제 화면에 나타내는 과정으로 이를 통해 화면에 웹페이지를 볼 수 있다.
profile
커피 내리고 향 맡는거 좋아해요. 이것 저것 공부합니다.

0개의 댓글