โ๏ธ๋ฌธ์ ์ํฉ
2๊ฐ์ง ์๊ตฌ์ฌํญ์ ์ํํ ๋ ์ ๋๋ฉ์ด์ ํจ๊ณผ๊ฐ ๋งค๋๋ฝ์ง ๋ชปํจ
1. ์คํฌ๋กค ์์น๊ฐ ํน์ ์น์ ์ ๋๋ฌํ๋ฉด ํ๋ฉด์ ๊ณ ์ ์ํค๊ณ ์นด๋๋ง ๊ฐ๋ก๋ก ์ด๋ํด์ผ ํจ(left๋ก ์์น๋ฅผ ๋ณ๊ฒฝํ์)
2. ์นด๋๊ฐ ์ด๋ํ๋ฉด ๋ฐฐ๊ฒฝ์ ์ด๋ฏธ์ง๋ ๊ฐ์ด๋ฐ ์์นํ๋ ์นด๋์ ์ด๋ฏธ์ง๋ก ๋ณ๊ฒฝ๋์ด์ผ ํจ(background-image๋ฅผ ๋ณ๊ฒฝํ์)
โ ํด๊ฒฐ
๋ฏธ๋ฆฌ ๋ฐฐ๊ฒฝ ์ด๋ฏธ์ง๋ฅผ ๋ ๋๋ง ํด๋์ ์ํ์์ opacity๋ง transition์ ์ฃผ๊ณ ์นด๋์ ์์น๋ transform์ translateX์์ฑ์ ์ฌ์ฉํ์ฌ ์ ๋๋ฉ์ด์ ์ต์ ํํจ
์์ฑ์ ๋ฐ๊พธ๋ ๊ฒ๋ง์ผ๋ก ์ต์ ํ๊ฐ ๊ฐ๋ฅํ๋ ์ด์ ๋ ๋ฌด์์ผ๊น์?
์ด์ ์ ๋ํด ์ค๋ช ํ๊ธฐ ์ํด์๋ ์ฐ์ ๋ธ๋ผ์ฐ์ ๋ ๋๋ง ๊ณผ์ ์ ๋ํ ์ดํด๊ฐ ํ์ํฉ๋๋ค.
๐ ๊ฐ๋ตํ ๋ธ๋ผ์ฐ์ ๋ ๋๋ง ๊ณผ์
1. HTML๊ณผ CSS ๋ฑ ๋ฆฌ์์ค๋ฅผ ์๋ฒ๋ก๋ถํฐ ๋ฐ์ผ๋ฉด, ๋ธ๋ผ์ฐ์ ์ ๋ ๋๋ง ์์ง์์ ํ์ฑํ๋ค.
2. HTML์ ํ์ฑํ๋ฉด์ DOMํธ๋ฆฌ์ CSSOMํธ๋ฆฌ๋ฅผ ์์ฑํ๋ค.
3. DOMํธ๋ฆฌ์ CSSOMํธ๋ฆฌ๋ฅผ ๊ฒฐํฉํค์ Render ํธ๋ฆฌ๋ฅผ ์์ฑํ ํ, ๋ ์ด์์ ์์ ๊ณผ ํ์ธํ ์์ ์ ํ๋ค.
์ด๋ฌํ ๊ณผ์ ์ ๋ ธ๋๊ฐ ์ถ๊ฐ๋๊ฑฐ๋ ์ฐฝ์ ํฌ๊ธฐ๊ฐ ๋ณ๊ฒฝ๋๊ฑฐ๋ ์คํ์ผ์ด ๋ณ๊ฒฝ๋์์ ๋ ๋ฐ๋ณตํด์ ์ผ์ด๋ ์ ์์ต๋๋ค.
ํนํ ๋ ์ด์์ ๊ณ์ฐ๊ณผ ํ์ธํ ์ ๋ค์ ์คํํ๋ ๊ฒฝ์ฐ๋ ๋น์ฉ์ด ๋ง์ด ๋ค๊ธฐ ๋๋ฌธ์ ์ฃผ์ํด์ผ ํฉ๋๋ค
๋ฆฌํ๋ก์ฐ: dom + ccsom ⇒ ๋ ๋ํธ๋ฆฌ ⇒ ๋ ์ด์์ ๋ฐฐ์น ⇒ ํ์ธํธ ⇒ ์ปดํฌ์ง์
๋ ์ด์์์ ์ํฅ์ ์ฃผ๋ ์์ฑ์ด ๋ณํํ๋ฉด ๋ฆฌํ๋ก์ฐ๊ฐ ์ผ์ด๋๊ฒ ๋จ
ex) position, display, top, bottom, margin, padding ๋ฑ๋ฑ
๋ฆฌํ์ธํธ: ํ์ธํธ ⇒ ์ปดํฌ์ง์ (๋ฆฌํ๋ก์ฐ์์ ๋ ์ด์์ ๋ฐฐ์น ๊ณผ์ ์ ์ ์ธํ ๊ฒ)
๋ ์ด์์์ ์ํฅ์ ์ฃผ์ง ์์ ์์ฑ์ ๊ฒฝ์ฐ๋ ๋ฆฌํ์ธํธ๊ฐ ์ผ์ด๋จ
๋ฆฌํ์ธํธ๋ ๋ ๋ ํธ๋ฆฌ๋ฅผ ๋ค์ ๋ง๋ค์ง ์๊ณ ๋ ๋ ํธ๋ฆฌ์ ๋ ธ๋ ์ค์์ ์คํ์ผ ์์ฑ์ด ๋ณ๊ฒฝ๋ ์์๋ค์ ๋ํ ์ ๋ฐ์ดํธ๊ฐ ์ด๋ฃจ์ด์ง๋ค๊ณ ์๊ณ ์์ต๋๋ค.
ex) background-image, background-color, color
GPU ์์
opacity์ transform์ ๊ฐ์ ์์ฑ์ ๋ ์ด์ด๋ฅผ ๋ฐ๋ก ๋ถ๋ฆฌํ์ฌ ์ ๋๋ฉ์ด์ ์์ ์ GPU์ ์์ํ๊ธฐ ๋๋ฌธ์
๋ฆฌํ๋ก์ฐ๋ ๋ฆฌํ์ธํธ๊ฐ ์ผ์ด๋์ง ์์
left, background-image๋ฅผ ๋ณ๊ฒฝํ์ ๋๋ ๊ณ์ํด์ ๋ฆฌํ๋ก์ฐ์ ๋ฆฌํ์ธํธ๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ๋ ๋๋ง์ด ๋งค๋๋ฝ์ง ๋ชปํ๊ณ
๋ณ๊ฒฝ ํ์๋ transform๊ณผ opacity๋ฅผ ์ฌ์ฉํ์ฌ GPU์ ์์ ์ ์์ํ๊ธฐ ๋๋ฌธ์ ์ ๋๋ฉ์ด์ ์ฑ๋ฅ์ด ๊ฐ์ ๋์์ต๋๋ค
'๐ป ํ๋ก ํธ์๋' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
CSS ์์ ์์๊ฐ focus ๋ ๋ ๋ถ๋ชจ ์์ ํจ๊ณผ ์ฃผ๊ธฐ (2) | 2024.01.08 |
---|---|
React Native์ React ์ปดํฌ๋ํธ ์ฐจ์ด (2) | 2024.01.08 |
[React Native] ํฐํธ ์ค์ (0) | 2024.01.05 |
[React Native] ๋ฅ๋งํฌ ์ค์ ํ๊ธฐ (0) | 2024.01.04 |
[React Native] Path alias ์ค์ (0) | 2024.01.03 |