π€ κ°κ° μ΄λ€ μμ±μ μ¬μ©νλκ°?
CSS :Β transition
Β Β animation
JS : setInterval()
Β Β requestAnimationFrame()
Β
CSS μ λλ©μ΄μ
μ₯μ
- λ―Έλμ΄ μΏΌλ¦¬λ‘ μ λλ©μ΄μ
μ μ μ©ν΄ λ°μνμΌλ‘ μ λλ©μ΄μ
μ ꡬννκΈ° μ μ©
- μΈλΆ λΌμ΄λΈλ¬λ¦¬ νμ μμ
- CSS μμ²΄κ° μ μΈν(declarative)μ΄λΌ μ΄λ€ μμκ° μ λλ©μ΄μ
μ κ°μ ΈμΌ νλ€λ μ§κ΄μ μΈ ννμ΄ κ°λ₯
- λ©μΈ *μ°λ λκ° μλ λ³λμ μ»΄ν¬μ§ν° μ°λ λ(Compositor Thread)μμ κ·Έλ €μ§κΈ°μ ν¨μ¨μ
π‘
*μ°λ λ(Thread)λ?
νλ‘μΈμ€κ° ν λΉλ°μ μμμ μ΄μ©νλ μ€ν λ¨μ
μ€μΌμ€λ¬μ μν΄ CPUλ₯Ό ν λΉλ°μ μ μλ μΈμ€νΈλμ
μ λμ΄
νλ‘μΈμ€μ λ©λͺ¨λ¦¬, μμ λ±μ 곡μ νλ―λ‘ μ»€λμ λμ μμ΄ μ€λ λκ°μ ν΅μ κ°λ₯
+νλ‘μΈμ€λ?
μ΄μ체μ λ‘λΆν° μμμ ν λΉλ°λ μμ
λ¨μ
λ©λͺ¨λ¦¬ μμμ μ€νμ€μΈ νλ‘κ·Έλ¨, μ€λ λλ μ΄ νλ‘μΈμ€ μμμ μ€νλλ νλ¦ λ¨μ
+μΈμ€νΈλμ
(Instruction)μ΄λ?
μ»΄ν¨ν°μκ² μΌμ μν€λ λ¨μ, μ»΄ν¨ν°κ° μμλ€μ μ μλ κΈ°κ³μ΄λ‘ μ΄λ£¨μ΄μ Έ μλ λͺ
λ Ή
+컀λ(kernel)μ΄λ?
μ»΄ν¨ν° μ΄μ 체μ μ ν΅μ¬μ΄ λλ μ»΄ν¨ν° νλ‘κ·Έλ¨, μμ€ν
μ λͺ¨λ κ²μ μμ ν ν΅μ
JS μ λλ©μ΄μ
μ₯μ
- μμμ μ€νμΌμ΄ λ³νλ μκ°λ§λ€ μ μ΄ν μ μμ΄ μΈλ°νκ² μ λλ©μ΄μ
κ΅¬μ± κ°λ₯
-
*GPUλ₯Ό ν΅ν νλμ¨μ΄ κ°μ μ μ΄ κ°λ₯ β CSSμ νΉμ μμ±μΌλ‘ μΈν κ°μμ λ§μμ€
μ μ₯μ μΈκ°? νλμ¨μ΄ κ°μμ΄ λͺ¨λ°μΌμμ μ±λ₯ μ νλ₯Ό λ°μμν¬ μ μκΈ° λλ¬Έ
- λΈλΌμ°μ νΈνμ±μ΄ CSS νΈλ μ§μ
, μ λλ©μ΄μ
μμ±λ³΄λ€ μ’λ€.
π‘ *GPUλ?
Graphic Processing Unit(κ·Έλν½ μ²λ¦¬ μ₯μΉ)
νΉμ λ¨μ κ³μ°μ λΉ λ₯΄κ² ν¨
CPUμ λΉν΄ μ°μ° μ₯μΉ(ALU)μ κ΅¬μ‘°κ° λ¨μ, μμ μ μ΄/μΊμ μμμ κ°μ§
vs CPUλ?
Core Processing Unit(μ€μ μ²λ¦¬ μ₯μΉ)
μ»΄ν¨ν°μμ μ¬λμ λμ²λΌ λ°μ΄ν° μ°μ°, μ£Όλ³ μ₯μΉ μ μ΄, λͺ
λ Ήμ λ΄λ¦¬λ μ₯μΉ
μ°μ λ
Όλ¦¬ μ₯μΉ + μ μ΄ μ₯μΉ + λ μ§μ€ν° μΈνΈ + CPU λ΄λΆ λ²μ€ λ±μΌλ‘ ꡬμ±
5λ¨κ³ μμ
λ°λ³΅ : 1) λͺ
λ Ήμ΄ μΈμΆ 2) λͺ
λ Ήμ΄ ν΄λ
3) λ°μ΄ν° μΈμΆ 4) λ°μ΄ν° μ²λ¦¬ 5) λ°μ΄ν° μ μ₯
Instruction fetch β Instruction decode β Data fetch β Data process β Data store
-μ°Έκ³