---
id: P-REINFORCE-AUTO-FF8159
category: "10_Wiki/💡 Topics/Graphics & Performance"
confidence_score: 0.90
tags: [auto-reinforced]
last_reinforced: 2026-04-20
github_commit: "[P-Reinforce] Continuous Worker - instancedArray"
---

# [[instancedArray|instancedArray]]

## 📌 한 줄 통찰 (The Karpathy Summary)
> `instancedArray`는 렌더링 프레임 간에도 유지되는 영구적인 GPU 버퍼(GPU-persistent buffers)를 생성하는 기능입니다 [1]. 이 기능을 활용하면 기존 파티클 시스템 등에서 성능 저하의 주원인으로 꼽히는 CPU와 GPU 간의 데이터 전송을 제거할 수 있습니다 [1]. 특히 매 프레임마다 업데이트되는 파티클 데이터에 적용하여, 비용이 많이 드는 WebGPU 버퍼 쓰기 작업을 최소화하는 데 핵심적인 역할을 합니다 [2].

## 📖 구조화된 지식 (Synthesized Content)
- **GPU 영구 버퍼의 생성:** `instancedArray`는 프레임이 넘어가더라도 데이터가 유지되는 영구적인 GPU 버퍼를 만듭니다 [1].
- **CPU-GPU 데이터 전송 병목 해소:** 전통적인 파티클 시스템에서는 상태 변화를 매 프레임 CPU에서 계산하여 GPU로 넘겨주어야 했으며, 이는 심각한 성능 저하를 일으킵니다. `instancedArray`는 이러한 반복적인 데이터 전송(CPU-GPU data transfer) 과정을 완전히 제거하여 성능을 대폭 향상시킵니다 [1].
- **WebGPU 버퍼 업데이트 최소화:** WebGPU 환경에서는 버퍼 쓰기(buffer writes) 비용이 매우 높습니다. 따라서 프레임마다 다수의 작은 버퍼를 지속적으로 업데이트하는 대신, 매 프레임 변경이 필요한 파티클 데이터 관리에 `instancedArray`를 사용하는 것이 권장됩니다 [2].
- **TSL(Three Shader Language) 지원:** `instancedArray`는 Three.js의 새로운 노드 기반 셰이더 시스템인 TSL(Three Shader Language)에서 지원하는 주요 기능 중 하나로 활용됩니다 [3].

## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
- **과거 데이터와의 충돌:** 자동화 엔진에 의해 매핑된 지식으로, 추후 정밀 검증 필요.
- **정책 변화:** Graphics & Performance 분야의 자동 자산화 수행.

## 🔗 지식 연결 (Graph)
- **Related Topics:** [[WebGPU|WebGPU]], TSL, [[입자 시스템(Particle Systems)|Particle Systems]]
- **Projects/Contexts:** Three.js 성능 최적화 (Utsubo의 2026 가이드)
- **Contradictions/Notes:** 소스 내에 이 주제와 관련하여 상충하는 주장이나 반대 의견은 존재하지 않습니다.

---
*Last updated: 2026-04-19*
- Raw Source: 00_Raw/2026-04-20/instancedArray.md
---
