2.6 KiB
2.6 KiB
id, category, confidence_score, tags, last_reinforced, github_commit
| id | category | confidence_score | tags | last_reinforced | github_commit | |
|---|---|---|---|---|---|---|
| P-REINFORCE-AUTO-FF8159 | 10_Wiki/💡 Topics/Graphics & Performance | 0.90 |
|
2026-04-20 | [P-Reinforce] Continuous Worker - 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, TSL, Particle Systems
- Projects/Contexts: Three.js 성능 최적화 (Utsubo의 2026 가이드)
- Contradictions/Notes: 소스 내에 이 주제와 관련하여 상충하는 주장이나 반대 의견은 존재하지 않습니다.
Last updated: 2026-04-19
- Raw Source: 00_Raw/2026-04-20/instancedArray.md