## πŸ“Œ Brief Summary React 19 μ»΄νŒŒμΌλŸ¬λŠ” λΉŒλ“œ νƒ€μž„μ— μ½”λ“œμ˜ κ°’, μ»΄ν¬λ„ŒνŠΈ, 콜백 ν•¨μˆ˜λ₯Ό μžλ™μœΌλ‘œ λ©”λͺ¨μ΄μ œμ΄μ…˜ν•˜μ—¬ μž¦μ€ κ°€λΉ„μ§€ μ»¬λ ‰μ…˜(GC)κ³Ό λΆˆν•„μš”ν•œ λ¦¬λ Œλ”λ§μ„ μ°¨λ‹¨ν•¨μœΌλ‘œμ¨, React Three Fiber(R3F) 기반 3D κ²Œμž„μ˜ ν”„λ ˆμž„ 레이트(FPS)λ₯Ό μ•ˆμ •ν™”ν•˜κ³  λŸ°νƒ€μž„ μ„±λŠ₯을 획기적으둜 κ°œμ„ ν•©λ‹ˆλ‹€. ## πŸ“– Core Content **1. μžλ™ μ°Έμ‘° μ•ˆμ •μ„±(Reference Stability) 확보λ₯Ό ν†΅ν•œ λ¦¬λ Œλ”λ§ λ°©μ§€** React ν™˜κ²½μ—μ„œλŠ” λΆ€λͺ¨ μ»΄ν¬λ„ŒνŠΈμ˜ μƒνƒœκ°€ λ³€ν•  λ•Œλ§ˆλ‹€ ν•˜μœ„ μ»΄ν¬λ„ŒνŠΈλ“€μ΄ 기본적으둜 λͺ¨λ‘ λ¦¬λ Œλ”λ§λ©λ‹ˆλ‹€. 특히 인라인 ν•¨μˆ˜λ‚˜ 객체가 λ§€ λ Œλ”λ§λ§ˆλ‹€ μƒˆλ‘œμš΄ μ°Έμ‘°(Reference)λ₯Ό μƒμ„±ν•˜λ©΄, ν•˜μœ„μ— μžˆλŠ” 무거운 3D μ»΄ν¬λ„ŒνŠΈ(Mesh, Material λ“±)κ°€ λΆˆν•„μš”ν•˜κ²Œ λ Œλ”λ§μ„ λ°˜λ³΅ν•˜κ²Œ λ©λ‹ˆλ‹€. React 19 μ»΄νŒŒμΌλŸ¬λŠ” `useMemo`λ‚˜ `useCallback` 없이도 μ•ˆμ „ν•œ λͺ¨λ“  곳에 λ©”λͺ¨μ΄μ œμ΄μ…˜μ„ μžλ™ μ μš©ν•˜μ—¬ μ°Έμ‘° μ•ˆμ •μ„±μ„ 확보해 μ£Όλ―€λ‘œ, 무거운 3D 객체의 λ¬΄μ˜λ―Έν•œ μž¬μƒμ„±μ„ λ§‰μ•„μ€λ‹ˆλ‹€. **2. κ°€λΉ„μ§€ μ»¬λ ‰μ…˜(GC) 슀파이크 μ–΅μ œ** μ‹€μ‹œκ°„ 3D κ²Œμž„μ—μ„œ κ°€μž₯ 치λͺ…적인 μ„±λŠ₯ μ €ν•˜ 원인 쀑 ν•˜λ‚˜λŠ” 단기간에 μˆ˜λ§Žμ€ 객체가 μƒμ„±λ˜κ³  λ²„λ €μ§€λ©΄μ„œ λ°œμƒν•˜λŠ” κ°€λΉ„μ§€ μ»¬λ ‰μ…˜ 멈좀(Stop-the-world) ν˜„μƒμž…λ‹ˆλ‹€. μ»΄νŒŒμΌλŸ¬κ°€ μ—°μ‚° 결과와 콜백 ν•¨μˆ˜λ₯Ό μžλ™μœΌλ‘œ μΊμ‹±ν•˜λ©΄ λ Œλ”λ§λ§ˆλ‹€ λ²„λ €μ§€λŠ” 객체의 생성이 크게 쀄어듀어, λ©”λͺ¨λ¦¬ νŒŒνŽΈν™” 및 GC둜 μΈν•œ ν”„λ ˆμž„ λ“œλž(Lag)을 효과적으둜 μ–΅μ œν•  수 μžˆμŠ΅λ‹ˆλ‹€. **3. μž¬μ‘°μ •(Reconciliation) μ˜€λ²„ν—€λ“œ κ°μ†Œλ‘œ 메인 μŠ€λ ˆλ“œ 확보** React의 가상 DOM 트리λ₯Ό λΉ„κ΅ν•˜λŠ” μž¬μ‘°μ •(Reconciliation) 과정은 CPU μ—°μ‚° λΉ„μš©μ΄ λ†’μŠ΅λ‹ˆλ‹€. 컴파일러 적용 μ‹œ 순수 μ»΄ν¬λ„ŒνŠΈμ˜ 90% 이상, μ—°μ‚° κ°’μ˜ 85% 이상이 μžλ™μœΌλ‘œ μΊμ‹±λ˜μ–΄ λ Œλ”λ§ μ†Œμš” μ‹œκ°„μ΄ λ‹¨μΆ•λ©λ‹ˆλ‹€. 덕뢄에 메인 μŠ€λ ˆλ“œμ˜ λΆ€ν•˜κ°€ 쀄어듀어, κ²Œμž„ 루프가 물리 μ—”μ§„ μ—°μ‚°μ΄λ‚˜ λ Œλ”λ§ 둜직 μ²˜λ¦¬μ— 더 λ§Žμ€ μžμ›μ„ μ˜¨μ „νžˆ μ‚¬μš©ν•  수 있게 λ©λ‹ˆλ‹€. **4. μˆ˜λ™ μ΅œμ ν™”μ˜ ν•œκ³„ 및 휴먼 μ—λŸ¬ 극볡** κ³Όκ±°μ—λŠ” λ³΅μž‘ν•œ 3D 씬을 ꡬ성할 λ•Œ κ°œλ°œμžκ°€ 직접 λͺ¨λ“  μ˜μ‘΄μ„± 배열을 κ΄€λ¦¬ν•˜λ©° μˆ˜λ™μœΌλ‘œ λ©”λͺ¨μ΄μ œμ΄μ…˜μ„ ν•΄μ•Ό ν–ˆκ³ , 이 κ³Όμ •μ—μ„œ μ‹€μˆ˜κ°€ λ°œμƒν•˜κΈ° μ‰¬μ› μŠ΅λ‹ˆλ‹€. μ»΄νŒŒμΌλŸ¬λŠ” μ΄λŸ¬ν•œ λ³΄μΌλŸ¬ν”Œλ ˆμ΄νŠΈ μ½”λ“œλ₯Ό μ œκ±°ν•˜κ³  λΉŒλ“œ νƒ€μž„μ— μ΅œμ ν™”λ₯Ό 보μž₯ν•˜λ―€λ‘œ, κ°œλ°œμžλŠ” λ―Έμ„Έν•œ λ©”λͺ¨μ΄μ œμ΄μ…˜μ— μ‹ κ²½ μ“°λŠ” λŒ€μ‹  Three.js 씬 κ·Έλž˜ν”„ μ΅œμ ν™” λ“± 근본적인 μ—”μ§„ μ•„ν‚€ν…μ²˜μ— 더 집쀑할 수 μžˆμŠ΅λ‹ˆλ‹€. ## πŸ”— Knowledge Connections - **Related Topics:** [[React 19 Compiler]], [[React Three Fiber (R3F)]], [[κ°€λΉ„μ§€ μ»¬λ ‰μ…˜(GC) μ΅œμ ν™”]], [[λΆˆν•„μš”ν•œ λ¦¬λ Œλ”λ§ λ°©μ§€]] - **Projects/Contexts:** [[κ³ μ„±λŠ₯ μ‹€μ‹œκ°„ μƒν˜Έμž‘μš© μ‹œμŠ€ν…œμ„ μœ„ν•œ React 기반 κ²Œμž„ μ—”μ§„ μ•„ν‚€ν…μ²˜]] - **Contradictions/Notes:** React 19 μ»΄νŒŒμΌλŸ¬κ°€ 선언적 UI의 λ¦¬λ Œλ”λ§ μ„±λŠ₯을 λΉ„μ•½μ μœΌλ‘œ λ†’μ—¬μ£Όμ§€λ§Œ, κ²Œμž„μ˜ 근본적인 μ•ˆν‹° νŒ¨ν„΄κΉŒμ§€ ν•΄κ²°ν•΄ μ£Όμ§€λŠ” μ•ŠμŠ΅λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄, λ§€ ν”„λ ˆμž„ μ‹€ν–‰λ˜λŠ” `useFrame` 루프 λ‚΄λΆ€μ—μ„œ React μƒνƒœ(`setState`)λ₯Ό μ—…λ°μ΄νŠΈν•˜κ±°λ‚˜ 객체λ₯Ό μƒˆλ‘œ 생성(`new Vector3()`)ν•˜λŠ” 것은 μ—¬μ „νžˆ 치λͺ…μ μž…λ‹ˆλ‹€. λΉˆλ²ˆν•˜κ²Œ λ³€ν•˜λŠ” 3D 객체의 μœ„μΉ˜λ‚˜ νšŒμ „κ°’ 등은 μ»΄νŒŒμΌλŸ¬μ— μ˜μ‘΄ν•  것이 μ•„λ‹ˆλΌ, λ°˜λ“œμ‹œ μ°Έμ‘°(Ref)λ₯Ό μ‚¬μš©ν•˜μ—¬ 직접 λ³€ν˜•(Direct Mutation)ν•΄μ•Ό ν•©λ‹ˆλ‹€. --- _Last updated: 2026-04-15_