browser rendering
Last updated
Last updated
๋ธ๋ผ์ฐ์ ๋ ๋ธ๋ผ์ฐ์ ์์ง, ๋ ๋๋ง์์ง, ์๋ฃ์ ์ฅ์(local storage, coockie), ๋คํธ์ํฌ ํต์ , JS ํด์๊ธฐ, UI ๋ฐฑ์๋ ๋ฑ ์ผ๋ก ์ด๋ฃจ์ด์ ธ์๋ค.
์ด๋, ๋ ๋๋ง ์์ง์ด ๋ธ๋ผ์ฐ์ ์ ๋ ๋๋ง์ ๋ด๋นํ๋ค.
DOM ํธ๋ฆฌ๋ฅผ ๊ตฌ์ถํ๋ค.
ํ๋์ html ํ์ด์ง๋ div, span ๋ฑ ๊ฐ๊ฐ์ ์์๋ฅผ ๊ฐ์ง๋ค.
์ด ์์๋ค์ ๋ชจ๋ ๋ ธ๋๋ก ์ค์ ์ด ๋์ด ํธ๋ฆฌ ํํ๋ก ์ ์ฅ์ด ๋๋ค. = DOM ํธ๋ฆฌ
๋ ๋ ํธ๋ฆฌ์ ๋ ๋ ๋ ์ด์ด๋ฅผ ์์ฑํ๋ค.
๊ฐ๊ฐ์ ๋ ธ๋๋ CSS ํ์์ ์ํด ์ ํด์ง ์คํ์ผ ๊ท์น์ด ์ ์ฉ๋์ด์๋ค.
์ด๋ฌํ ๊ท์น์ ๋ฐ๋ผ์ CSSOM ์ด๋ผ๋ ํธ๋ฆฌ๊ฐ ๋ง๋ค์ด์ง๊ณ
๋ฏธ๋ฆฌ ๋ง๋ค์ด์ง DOM ํธ๋ฆฌ ๋ด์ ์๋ ๋ ธ๋์ ํฉ์ณ์ ธ ๋ ๋ ๊ฐ์ฒด (render object) ๊ฐ ์์ฑ๋๋ฉฐ
์ด๋ค์ด ๋ชจ์ฌ์ ๋ณ๋ ฌ์ ์ธ ๋ ๋ํธ๋ฆฌ๊ฐ ์์ฑ๋๋ค.
๋ ๋ ํธ๋ฆฌ์์ display:none ์ด ํฌํจ๋ ๋ ธ๋๋ ์ง์์ง๊ณ , font-size ๋ฑ ์์์ ์ธ ์คํ์ผ์ ๋ถ๋ชจ๋ ธ๋์๋ง ์ ์ฉ๋๊ธฐ ํ๋ ๋ฑ ์ต์ ํ์ ๊ณผ์ ์ ๊ฑฐ์ณ ๋ ๋ ๋ ์ด์ด๊ฐ ์์ฑ๋๋ค.
๋ ๋ ๋ ์ด์ด๋ฅผ ๋์์ผ๋ก layout ์ ์์ฑํ๋ค.
์ด๋ ์ขํ๋ ๋ณดํต ๋ถ๋ชจ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค์ ๋๋ค.
Global layout ์ ๋ธ๋ผ์ฐ์ ์ฌ์ด์ฆ๊ฐ ์ฆ๊ฐํ๊ฑฐ๋ ํฐํธ ์ฌ์ด์ฆ๊ฐ ์ปค์ง๋ฉด ๋ณ๊ฒฝ๋๋ค.
๋ ๋ ๋ ์ด์ด๋ฅผ ๋์์ผ๋ก ์น ํ๋ค - paint
ํฝ์ ๋ง๋ค ์ ์ ์ฐ๋ฏ ์น ํ๋ค. = ๋ ์คํฐํ
๋ ์ด์ด ํฉ์น๊ธฐ - composite layer + ํ๊ธฐ
๊ฐ๊ฐ์ ๋ ์ด์ด๋ก๋ถํฐ ๋นํธ๋งต์ด ์์ฑ๋๊ณ , GPU ์ ํ ์ค์ณ๋ก ์ ๋ก๋๋๋ค.
ํ ์ค์ณ๋ค์ ์๋ก ํฉ์ณ์ ธ์ ํ๋์ ์ด๋ฏธ์ง๋ก ๋ ๋๋ง๋๋ฉฐ ํ๋ฉด์ผ๋ก ์ถ๋ ฅ๋๋ค.
DOM ํธ๋ฆฌ -> ๋ ๋ ํธ๋ฆฌ : 1:1 ๋์์ด๋ค.
๋ ๋ ๊ฐ์ฒด์ ๋ ๋๋ ์ด์ด๋ 1:1 ๋์์ด ์๋๋ค!
display:none ๋ฑ์ผ๋ก ์ฌ๋ผ์ง๋ ๋ ธ๋๋ค์ด ์์ ์ ์๊ธฐ ๋๋ฌธ์ด๋ค.
๋ ๋ ๋ ์ด์ด๊ฐ ์์ฑ๋ ๋, GPU ์์ ์ฒ๋ฆฌ๋๋ ๋ถ๋ถ๋ค์ด ์๋ค๋ฉด, ์ด ์์๋ค์ ๊ฐ๊ฐ ๊ฐ์ ์ ์ผ๋ก ๊ทธ๋ํฝ ๋ ์ด์ด๋ก ๋ถ๋ฆฌ๋๋ค.
CSS3D, video, canvas, filter, animation, transform : translateZ(0) ๋ฑ