μΉμ¬μ΄νΈμ μ λλ©μ΄μ
ν¨κ³Όλ₯Ό λΆμ¬ν λ CSSμ transition
, animation
μμ±μ μ¬μ©ν μ μκ³ , JavaScriptμ setInterval()
, requestAnimationFrame()
μ μ¬μ©ν μ μλ€. νμ§λ§ κ°κ°μ μ¬μ©ν λμ νΉμ§μ΄ λ€λ₯΄κ³ μ₯λ¨μ μ΄ μκΈ° λλ¬Έμ νκ²½μ λ§κ² μ¬μ©νλ κ²μ΄ μ€μνλ€.
λ§μ°μ€λ₯Ό μ¬λ Έμ λ νΉμ λ©λ΄ λ²νΌμ μ νκ³Ό κ°μ κ°λ¨νκ² μ²λ¦¬νλ μ λλ©μ΄μ μ κ²½μ° CSSλ‘ μ²λ¦¬νλ€. κ°λ¨ν μ λλ©μ΄μ μ JavaScriptλ‘ κ΅¬ννλ κ²½μ° λΈλΌμ°μ μ λ λλ§ κ³Όμ μμ reflowλ₯Ό λ°μμν€κΈ° λλ¬Έμ μ λλ©μ΄μ μ΄ λΆμμ°μ€λ½κ² λκΈ°λ λ―ν λλμ λ°μ μ μλ€.
- λ°μνμΌλ‘ μ λλ©μ΄μ μ ꡬνν λ μ μ©νλ°, λ―Έλμ΄ μΏΌλ¦¬λ‘ μ λλ©μ΄μ μ μ μ©νλ©΄ λλ€.
- μΈλΆ λΌμ΄λΈλ¬λ¦¬λ₯Ό νμλ‘ νμ§ μλλ€.
- CSS μμ²΄κ° μ μΈνμ΄κΈ° λλ¬Έμ, μ΄λ€ μμκ° μ λλ©μ΄μ μ κ°μ ΈμΌ νλ€λ μ§κ΄μ μΈ ννμ΄ κ°λ₯νλ€.
- λ©μΈ μ€λ λκ° μλ λ³λμ μ»΄ν¬μ§ν° μ€λ λ(Compositor Thread)μμ κ·Έλ €μ§κΈ° λλ¬Έμ λ©μΈ μ€λ λμμ μμ νλ JavaScriptλ³΄λ€ ν¨μ¨μ μ΄λ€.
CSSλ‘ μ²λ¦¬νκΈ°μλ ν¨μ¬ 볡μ‘νκ³ λ¬΄κ±°μ΄ μ λλ©μ΄μ μμ λ€μ ν¨μ¨μ μ΄κ³ , μΈλ°νκ² λ€λ£¨κΈ° μν΄ μ¬μ©νλ€.
- μμμ μ€νμΌμ΄ λ³νλ μκ°λ§λ€ μ μ΄ν μ μκΈ° λλ¬Έμ μ λλ©μ΄μ μ μΈλ°ν ꡬμ±μ΄ κ°λ₯ν΄μ§λ€.
- GPUλ₯Ό ν΅ν νλμ¨μ΄ κ°μμ μ μ΄ν μ μλ€. μ΄λ CSSμ νΉμ μμ±μΌλ‘ μΈν κ°μμ λ§μμ£Όλλ°, νλμ¨μ΄ κ°μμ΄ λͺ¨λ°μΌμμ μ±λ₯μ νλ₯Ό λ°νμν¬ μ μκΈ° λλ¬Έμ μ΄λ° λ©΄μμ μ’λ€.
- λΈλΌμ°μ νΈνμ± μΈ‘λ©΄μμ
transition
,animation
μμ±λ³΄λ€ λ°μ΄λλ€.
π‘ νλμ¨μ΄ κ°μμ λ°μμν€λ κ² :
opacity
,transform