--- id: P-REINFORCE-AUTO-OPOOL-001 category: "10_Wiki/πŸ’‘ Topics/AI" confidence_score: 0.98 tags: [auto-reinforced, game-dev, performance, optimization, memory-management] last_reinforced: 2026-04-20 --- # [[Object Pooling (였브젝트 풀링)]] ## πŸ“Œ ν•œ 쀄 톡찰 (The Karpathy Summary) > "빌렀 μ“°κ³  λ‹€μ‹œ μ±„μš°λŠ” μžμ› 관리: κ°€λΉ„μ§€ 컬렉터(GC)의 μŠ΅κ²©μœΌλ‘œλΆ€ν„° ν”„λ ˆμž„μ›Œν¬λ₯Ό λ³΄ν˜Έν•˜κΈ° μœ„ν•΄, 객체λ₯Ό νŒŒκ΄΄ν•˜μ§€ μ•Šκ³  μž¬μ‚¬μš© 창고에 λ³΄κ΄€ν•˜λŠ” μ΅œμ ν™”μ˜ κΈ°λ³Έν˜•." ## πŸ“– κ΅¬μ‘°ν™”λœ 지식 (Synthesized Content) 였브젝트 풀링(Object Pooling)은 λΉˆλ²ˆν•˜κ²Œ μƒμ„±λ˜κ³  νŒŒκ΄΄λ˜λŠ” 객체(μ΄μ•Œ, νŒŒν‹°ν΄, 적 μœ λ‹› λ“±)λ₯Ό λ©”λͺ¨λ¦¬ ν• λ‹Ή/ν•΄μ œ κ³Όμ • 없이 미리 생성해 λ‘” λͺ©λ‘μ—μ„œ κΊΌλ‚΄ μ“°λŠ” κΈ°λ²•μž…λ‹ˆλ‹€. 1. **λ™μž‘ λ§€μ»€λ‹ˆμ¦˜**: * **In-use List / Pool List**: ν˜„μž¬ 화면에 ν‘œμ‹œλ˜λŠ” 객체와 λŒ€κΈ° 쀑인 객체λ₯Ό 뢄리 관리. * **Get/Release**: ν•„μš”ν•  λ•Œ ν’€μ—μ„œ κΊΌλ‚΄ ν™œμ„±ν™”(Reset & Reactivate)ν•˜κ³ , ν•„μš” μ—†μ–΄μ§€λ©΄ νŒŒκ΄΄ν•˜λŠ” λŒ€μ‹  λ‹€μ‹œ ν’€λ‘œ λ°˜ν™˜(Deactivate). 2. **이점**: * **GC Spike λ°©μ§€**: C#μ΄λ‚˜ Java 같은 ν™˜κ²½μ—μ„œ λΉˆλ²ˆν•œ λ©”λͺ¨λ¦¬ ν•΄μ œλ‘œ μΈν•œ 'ν”„λ ˆμž„ λ“œλž' 예방. * **ν• λ‹Ή μ˜€λ²„ν—€λ“œ κ°μ†Œ**: λŸ°νƒ€μž„ μ€‘μ˜ νž™(Heap) λ©”λͺ¨λ¦¬ νŒŒνŽΈν™” λ°©μ§€. 3. **섀계 μ‹œ 고렀사항**: * **Pre-warming**: λ‘œλ”© 쀑에 ν•„μš”ν•œ 객체λ₯Ό 미리 μƒμ„±ν•˜μ—¬ λŸ°νƒ€μž„ μ§€μ—° λ°©μ§€. * **Over-allocation**: 풀이 λΆ€μ‘±ν•  λ•Œ λ™μ μœΌλ‘œ ν™•μž₯ν•  것인지, μ•„λ‹ˆλ©΄ 생성을 포기할 것인지에 λŒ€ν•œ μ „λž΅ ν•„μš”. ## ⚠️ λͺ¨μˆœ 및 μ—…λ°μ΄νŠΈ (Contradictions & RL Update) - **κ³Όκ±° λ°μ΄ν„°μ™€μ˜ 좩돌**: κ³Όκ±°μ—λŠ” λ©”λͺ¨λ¦¬κ°€ λΆ€μ‘±ν•˜μ—¬ 무쑰건 풀링을 μΌμœΌλ‚˜, ν˜„λŒ€μ˜ κ°œμ„ λœ GC(Incremental GC λ“±) ν™˜κ²½μ—μ„œλŠ” μž‘κ³  수λͺ…이 짧은 κ°μ²΄λŠ” 였히렀 풀링 관리 λΉ„μš©μ΄ 더 클 수 μžˆμœΌλ―€λ‘œ 'ν”„λ‘œνŒŒμΌλ§ ν›„ λ„μž…'이 μ›μΉ™μž„. - **μ •μ±… λ³€ν™”(RL Update)**: Unity 2021+ 이후 μ—”μ§„ 자체적으둜 `UnityEngine.Pool` APIλ₯Ό μ œκ³΅ν•¨μ— 따라, κ°œλ°œμžκ°€ 직접 바퀴λ₯Ό 재발λͺ…ν•˜μ§€ μ•Šκ³  ν‘œμ€€ν™”λœ 풀링 μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ‚¬μš©ν•˜λŠ” 정책이 ꢌ고됨. ## πŸ”— 지식 μ—°κ²° (Graph) - **Related**: Graphics & Performance, Memory & Systems, [[Game-Feel-and-Juiciness]], Design Patterns - **Modern Tech/Tools**: Unity ObjectPool API, Entitas (ECS Framework). ---