1. reflow์ repaint์ ์ฐจ์ด์ ์ ๋ํด ์ค๋ช ํด์ฃผ์ธ์.
reflow์ repaint๋ ๋ชจ๋ ๋ ๋๋ง๊ณผ ๊ด๋ จ์ด ์์ต๋๋ค.
ํ๋ฉด์ด ๋ฆฌ๋๋๋ง ๋์ ๋, ๊ฐ ์ํฉ์ ๋ฐ๋ผ reflow์ repaint๊ฐ ์ผ์ด๋๊ฒ ๋ฉ๋๋ค. reflow๋ ๋ธ๋ผ์ฐ์ ๊ฐ ํ์ด์ง์ ๋ ์ด์์์ ๋ค์ ๊ณ์ฐํ๋ ๊ณผ์ ์ ์๋ฏธํ๊ณ repaint๋ ๊ณ์ฐ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํ์ผ๋ก ํ๋ฉด์ ๋ค์ ๊ทธ๋ฆฌ๋ ๊ณผ์ ์ ๋๋ค.
reflow๋ DOM์ ๊ตฌ์กฐ๊ฐ ๋ณ๊ฒฝ๋๊ฑฐ๋ ์์์ ํฌ๊ธฐ๋ ์์น๊ฐ ๋ณ๊ฒฝ๋ ๋ ์ผ์ด๋ฉ๋๋ค. repaint๋ ๋ ์ด์์์ ๊ทธ๋๋ก์ด๊ณ ์์์ด๋ ๋ฐฐ๊ฒฝ ๋ฑ์ ์คํ์ผ๋ง ๋ณ๊ฒฝ๋์์ ๋ ์ผ์ด๋ฉ๋๋ค. ๋ ์ด์์์ ๋ค์ ๊ณ์ฐํ๋ reflow๊ฐ ์ผ์ด๋๋ฉด repaint๊ฐ ํ์ฐ์ ์ผ๋ก ์ผ์ด๋๊ธฐ๋ ํ๊ณ , reflow๋ ๋น์ฉ์ด ๋ ๋ค๊ธฐ ๋๋ฌธ์ ๋ ์ด์์ ๊ณ์ฐ์ด ๋ค์ ์ผ์ด๋์ง ์๋๋ก ๊ด๋ฆฌํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค.
2. reflow๊ฐ ๋ค์ ์ผ์ด๋์ง ์๊ฒ ํ๋ ค๋ฉด ์ด๋ป๊ฒ ํด์ผํ๋์?
reflow๋ฅผ ์ ๋ฐํ๋ CSS ์์ฑ ์ฌ์ฉ์ ์ต์ํํด์ผํฉ๋๋ค. width, height, margin, padding, border ๋ฑ์ ์์ฑ์ ์์์ ๋ ์ด์์์ ๋ค์ ๊ณ์ฐํ๊ฒ ํ๊ธฐ๋๋ฌธ์ reflow๋ฅผ ์ผ์ผํต๋๋ค. ๋ฏธ๋ฆฌ ํด๋น ์์ฑ ๊ฐ์ ์ค์ ํด ์ด๊ธฐ ๋ก๋ ์์๋ง ๊ณ์ฐ์ด ์ด๋ฃจ์ด์ง๋๋ก ํ๊ณ , ์ดํ์๋ ๋ณ๊ฒฝํ์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค.
โ๏ธ Reflow๊ฐ ๋ฐ์ํ๋ ๊ฒฝ์ฐ
1. ์์์ ํฌ๊ธฐ, ์์น ๋ณ๊ฒฝ
2. ๋ธ๋ผ์ฐ์ ์ฐฝ์ ํฌ๊ธฐ ๋ณ๊ฒฝ
3. font size ๋ณ๊ฒฝ
4. scroll
5. DOM API๋ฅผ ํตํ ๋ ธ๋ ์์์ ์ถ๊ฐ, ์ญ์
โ๏ธ 2๋ฒ ์ง๋ฌธ ์ถ๊ฐ ๋ฐฉ๋ฒ
CSS ์ ๋๋ฉ์ด์ ์ต์ ํ
CSS ์์ฑ ์ฌ์ฉ์ ์ต์ํํ๊ธฐ ์ด๋ ต๋ค๋ฉด, transform์ ์ฌ์ฉํ๊ฑฐ๋ display ๋ณด๋ค๋ opacity๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ด ์ฑ๋ฅ ๊ฐ์ ์ ๋์์ด ๋ฉ๋๋ค. ์ด๋ GPU ๊ฐ์์ ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ reflow๋ฅผ ์ผ์ผํค์ง ์๊ณ repaint๋ง ๋ฐ์์ํค๋ฏ๋ก CPU ์์์ ์ ๊ฒ ์ฌ์ฉํฉ๋๋ค.
'Private > ๋ฉด์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก ํธ์๋ ๋ฉด์ (์ด๋ฒคํธ ๋ฃจํ) (0) | 2024.11.13 |
---|---|
ํ๋ก ํธ์๋ ๋ฉด์ (์ด๋ฏธ์ง ์ต์ ํ) (0) | 2024.11.12 |
ํ๋ก ํธ์๋ ๋ฉด์ (์คํ์ปจํ ์คํธ, ์ค์ฝํ ์ฒด์ธ) (0) | 2024.11.11 |
ํ๋ก ํธ์๋ ๋ฉด์ (ํด๋ก์ , ํด๋ก์ ์ ๋จ์ ) (5) | 2024.11.09 |
ํ๋ก ํธ์๋ ๋ฉด์ (Sync, Async, ์๋ฐ์คํฌ๋ฆฝํธ์ ๋์ ์๋ฆฌ, Call Stack, TaskQueue, Event Loop) (0) | 2024.11.08 |