Fix: Restore unified Topics folder and reorganize specialized category folders
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
# ⚡ Skybound: Stability & [[Optimization|Optimization]] Report (2026-04-21)
|
||||
|
||||
## 1. Executive Summary (요약)
|
||||
대규모 교전 및 아이템 사용 시 발생하는 성능 저하와 런타임 크래시를 해결하기 위한 엔진 안정성 보강 작업을 수행하였습니다.
|
||||
|
||||
## 2. Key Optimization Areas (주요 최적화 영역)
|
||||
|
||||
### 💥 Particle Effect [[Management|Management]] (이펙트 제어)
|
||||
- **Problem**: 폭탄 사용 시 수천 개의 파편(Shard) 객체가 생성되어 FPS 급락.
|
||||
- **[[Solution|Solution]]**:
|
||||
- **Hard Cap**: 최대 파티클 개수를 500개로 제한.
|
||||
- **TTL (Time To Live) Acceleration**: 파티클 소멸 속도를 6배 상향(0.1 -> 0.6)하여 자원 회수 주기를 단축.
|
||||
|
||||
### 🛡️ Runtime [[Robustness|Robustness]] (런타임 강건성)
|
||||
- **Problem**: 존재하지 않는 엔티티 배열 접근으로 인한 `TypeError`.
|
||||
- **Solution**:
|
||||
- `GameRenderer` 내 모든 순회 로직에 옵셔널 체이닝(`?.`) 및 기본값(`|| []`) 처리 의무화.
|
||||
- 인터페이스(`types.ts`)와 실제 상태 객체 간의 동기화 정밀 검수.
|
||||
|
||||
### 🔄 Entity Pool Intelligence (엔티티 풀 고도화)
|
||||
- **Problem**: ID(String)와 객체 참조 간의 혼선으로 인한 해제 실패.
|
||||
- **Solution**:
|
||||
- `EntityManager`에 `releaseById` 메서드 추가.
|
||||
- 객체 여부와 관계없이 안전하게 리소스를 반납할 수 있는 추상화 레이어 구축.
|
||||
|
||||
## 3. Post-Mortem (사후 분석)
|
||||
- **Silo Effect**: 엔티티 매니저 도입과 같은 대규모 인프라 변경 시, 관련 인터페이스를 동시에 업데이트하지 않아 발생한 '느슨한 계약(Loose Contract)' 문제가 근본 원인이었습니다.
|
||||
- **Guideline**: 시스템 간 데이터 교환 방식(ID 기반 vs 참조 기반)을 프로젝트 표준으로 확정하고 준수해야 합니다.
|
||||
|
||||
---
|
||||
**Related Cluster**: Performance Tuning
|
||||
**Status**: Verified by QA 🫡
|
||||
Reference in New Issue
Block a user