π¬ 리νλ‘μ°μ 리νμΈνΈ
리νλ‘μ°(Reflow)μ 리νμΈνΈ(Repaint)λ μΉ λΈλΌμ°μ μ λ λλ§ κ³Όμ μμ μ€μν κ°λ μ΄λ€.
μ΄ λ μ©μ΄λ μΉ νμ΄μ§μ λ μ΄μμ λ° μκ°μ ννμ κ΄λ¦¬νκ³ μ΅μ ννλ λ° μ¬μ©λλ€.
리νλ‘μ° (Reflow)
- 리νλ‘μ°λ μΉ νμ΄μ§μ λ μ΄μμμ΄ λ³κ²½λ λ λ°μνλ κ³Όμ μ λνλΈλ€. μ΄κ²μ μμμ ν¬κΈ°, μμΉ, ꡬ쑰 λλ μ€νμΌμ΄ λ³κ²½λ λ λ°μνλ€.
- λΈλΌμ°μ λ λ μ΄μμ λ³κ²½ μ¬νμ κ³μ°νκ³ , μ΄ λ³κ²½ μ¬νμ μν₯μ λ°λ μμ λ° κ·Έ νμ μμλ€μ λ€μ λ°°μΉνλ€. μ΄λ‘ μΈν΄ λ μ΄μμ νΈλ¦¬(Layout Tree)μ λ λ νΈλ¦¬(Render Tree)κ° λ€μ μμ±λλ€.
- 리νλ‘μ°λ λΉμ©μ΄ λ§μ΄ λλ μ°μ°μ΄λ―λ‘ μμ£Ό λ°μνλ©΄ μ±λ₯μ μν₯μ λ―ΈμΉ μ μμΌλ―λ‘ μ΅μνν΄μΌ νλ€.
리νμΈνΈ (Repaint)
- 리νμΈνΈλ νλ©΄μ μ΄λ―Έ κ·Έλ €μ§ μμμ μΌλΆλΆ λλ μ 체λ₯Ό λ€μ 그리λ κ³Όμ μ λνλΈλ€. μ΄κ²μ μ€νμΌ, λ°°κ²½μ, ν μ€νΈ λ΄μ© λλ λ€λ₯Έ κ·Έλν½ μμμ λ³κ²½ μμ λ°μνλ€.
- 리νμΈνΈλ 리νλ‘μ°λ³΄λ€ λΉμ©μ΄ μ κ² λ€λ©°, λ μ΄μμ λ³κ²½μ΄ μκ³ μκ°μ μΈ λ³κ²½λ§ μλ κ²½μ°μ λ°μνλ€.
- μλ₯Ό λ€μ΄, μμμ μμμ λ³κ²½νκ±°λ κ°μμ±μ ν κΈνλ κ²½μ° λ¦¬νμΈνΈκ° λ°μν μ μλ€.
μ΄λ¬ν 리νλ‘μ°μ 리νμΈνΈλ μ΅μν νμ¬ μ¬μ©ν΄μΌ μΉ νμ΄μ§μ μ±λ₯μ ν₯μμν€λλ° μ€μνλ€. λ°λΌμ λ€μκ³Ό κ°μ κ³ λ €λ°©λ²μ ν΅ν΄ μ΄μ©νλ κ²μ΄ κΆμ₯λλ€.
μ¬μ©μ μ°Έκ³ μ¬ν
- CSS μ΅μ ν: 볡μ‘ν CSS μ νμλ μ€νμΌ λ³κ²½μ νΌνκ³ , μ€νμΌ λ³κ²½μ ν λ²μ λͺ¨μμ μ μ©νλ€.
- CSS νΈλμ§μ λ° μ λλ©μ΄μ μ¬μ© μ΅μ ν: GPU κ°μμ νμ©νμ¬ λΆλλ¬μ΄ μ λλ©μ΄μ μ λ§λ€μ΄ 리νλ‘μ°μ 리νμΈνΈλ₯Ό μ΅μννλ€.
- λ μ΄μμ λ³κ²½ μ΅μν: JavaScriptμμ μμμ ν¬κΈ°λ μμΉ λ³κ²½μ νΌνκ³ , νμν κ²½μ° λ°°μΉ μμ μ μ΅μ ννλ€.
- νλ‘νμΌλ§ λꡬ μ¬μ©: μΉ κ°λ°μ λꡬμ κ°μ νλ‘νμΌλ§ λꡬλ₯Ό μ¬μ©νμ¬ μ±λ₯ λ³λͺ© νμμ μλ³νκ³ ν΄κ²°νλ€.
리νλ‘μ°μ 리νμΈνΈμ λ°μ쑰건
리νλ‘μ°μ 리νμΈνΈλ μΉ νμ΄μ§μ λ λλ§ μμ§μ΄ μμλ₯Ό λ€μ 그리거λ, λ μ΄μμμ λ³κ²½ν λ λ°μνλ€.
리νλ‘μ°(Reflow) λ°μ쑰건
- μμμ ν¬κΈ° λλ μμΉ λ³κ²½: μΉ νμ΄μ§μ μμ(μ: div, μ΄λ―Έμ§)μ ν¬κΈ° λλ μμΉκ° λ³κ²½λλ©΄ 리νλ‘μ°κ° λ°μνλ€.
- μλμ° ν¬κΈ° λ³κ²½: μΉ λΈλΌμ°μ μ μ°½ ν¬κΈ°λ₯Ό μ‘°μ ν λ λͺ¨λ μμκ° λ€μ λ°°μΉλλ―λ‘ λ¦¬νλ‘μ°κ° λ°μνλ€.
- ν°νΈ ν¬κΈ° λ³κ²½: μΉ νμ΄μ§μ ν μ€νΈ μμμ λν ν°νΈ ν¬κΈ° λ³κ²½μ 리νλ‘μ°λ₯Ό μ λ°ν μ μλ€.
- DOM ꡬ쑰 λ³κ²½: DOM νΈλ¦¬μ μμλ₯Ό μΆκ°, μ κ±° λλ λ³κ²½νλ©΄ 리νλ‘μ°κ° νμνλ€.
- μ€νμΌ λ³κ²½: μμμ μ€νμΌ(μ: μμ, λ°°κ²½, κ²½κ³μ )μ΄ λ³κ²½λλ©΄ 리νλ‘μ°κ° λ°μν μ μλ€.
리νμΈνΈ (Repaint) λ°μ쑰건
- μμμ μκ°μ μμ± λ³κ²½: μμμ μμ, λ°°κ²½, κ²½κ³μ λ±μ μκ°μ μ€νμΌ μμ±μ΄ λ³κ²½λλ©΄ 리νμΈνΈκ° λ°μνλ€.
- ν¬λͺ λ λ³κ²½: μμμ ν¬λͺ λκ° λ³κ²½λλ©΄ 리νμΈνΈκ° νμν μ μλ€.
- ν μ€νΈ λ΄μ© λ³κ²½: ν μ€νΈ μμμ λ΄μ©μ΄ λ³κ²½λλ©΄ ν΄λΉ ν μ€νΈμ 리νμΈνΈκ° λ°μνλ€.
- μλμ°μ κ°λ¦¬κΈ° λλ λνλ΄κΈ°: μλμ° λ΄μμ λ€λ₯Έ μ°½μ΄ κ°λ €μ§κ±°λ λνλλ κ²½μ°, κ·Έλ¦¬κ³ μλμ°μ μ΅μν λλ 볡μκ³Ό κ°μ μ°½ μν λ³κ²½μ΄ 리νμΈνΈλ₯Ό μ λ°ν μ μλ€.
리νλ‘μ°λ 리νμΈνΈλ³΄λ€ λ ν° μ°μ°μ΄λ―λ‘ μ΅μννλ κ²μ΄ μ€μνλ€. (layout μ΄ λ³κ²½λκΈ° λλ¬Έ)
λ°λΌμ μΉ κ°λ°μλ CSSμ DOM μ‘°μμ μ΅μ ννκ³ , λ μ΄μμ λ³κ²½μ μ€μ΄λ λ°©λ²μ κ³ λ €νμ¬ μΉ νμ΄μ§μ μ±λ₯μ ν₯μμν€λ €κ³ λ Έλ ₯νλ€.
'CS > Web' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
BOM κ³Ό DOM (0) | 2023.09.26 |
---|---|
λ²λ€μ΄λ? (bundle) / λͺ¨λμ΄λ? (module) (0) | 2023.09.18 |
λΈλΌμ°μ λλλ§ κ³Όμ (+μλ² Data λ°μμ€λ κ³Όμ ) (0) | 2023.09.08 |
ν ν°, μΏ ν€, μΈμ , μΉμ€ν λ¦¬μ§ λ? (0) | 2023.08.29 |
[SEO] lighthouse, λ¬Έμμ λ©ν μ€λͺ μ΄ μμ (0) | 2023.05.11 |