Files
2nd/10_Wiki/Topics/instancedArray.md
T
2026-05-02 23:33:34 +09:00

2.5 KiB


id: P-Reinforce-AUTO-FF8159 category: Unified confidence_score: 0.90 tags: [auto-reinforced] last_reinforced: 2026-04-20 github_commit: "[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, ParticleSystems
  • Projects/Contexts: Three.js 성능 최적화 (Utsubo의 2026 가이드)
  • Contradictions/Notes: 소스 내에 이 주제와 관련하여 상충하는 주장이나 반대 의견은 존재하지 않습니다.

Last updated: 2026-04-19