Files
2nd/10_Wiki/Topics/2026-04-21_Stability_and_Optimization_Report.md
T

1.9 KiB

Skybound: Stability & Optimization Report (2026-04-21)

1. Executive Summary (요약)

대규모 교전 및 아이템 사용 시 발생하는 성능 저하와 런타임 크래시를 해결하기 위한 엔진 안정성 보강 작업을 수행하였습니다.

2. Key Optimization Areas (주요 최적화 영역)

💥 Particle Effect Management (이펙트 제어)

  • Problem: 폭탄 사용 시 수천 개의 파편(Shard) 객체가 생성되어 FPS 급락.
  • Solution:
    • Hard Cap: 최대 파티클 개수를 500개로 제한.
    • TTL (Time To Live) Acceleration: 파티클 소멸 속도를 6배 상향(0.1 -> 0.6)하여 자원 회수 주기를 단축.

🛡️ Runtime Robustness (런타임 강건성)

  • Problem: 존재하지 않는 엔티티 배열 접근으로 인한 TypeError.
  • Solution:
    • GameRenderer 내 모든 순회 로직에 옵셔널 체이닝(?.) 및 기본값(|| []) 처리 의무화.
    • 인터페이스(types.ts)와 실제 상태 객체 간의 동기화 정밀 검수.

🔄 Entity Pool Intelligence (엔티티 풀 고도화)

  • Problem: ID(String)와 객체 참조 간의 혼선으로 인한 해제 실패.
  • Solution:
    • EntityManagerreleaseById 메서드 추가.
    • 객체 여부와 관계없이 안전하게 리소스를 반납할 수 있는 추상화 레이어 구축.

3. Post-Mortem (사후 분석)

  • Silo Effect: 엔티티 매니저 도입과 같은 대규모 인프라 변경 시, 관련 인터페이스를 동시에 업데이트하지 않아 발생한 '느슨한 계약(Loose Contract)' 문제가 근본 원인이었습니다.
  • Guideline: 시스템 간 데이터 교환 방식(ID 기반 vs 참조 기반)을 프로젝트 표준으로 확정하고 준수해야 합니다.

Related Cluster: Performance Tuning Status: Verified by QA 🫡