28 lines
1.4 KiB
Markdown
28 lines
1.4 KiB
Markdown
# Engine Stability and Optimization (2026-04-21)
|
|
|
|
Skybound 엔진의 성능 저하 및 런타임 크래시 이슈에 대한 해결 및 방지 가이드입니다.
|
|
|
|
## 1. Issue: Effect Overload (이펙트 폭주)
|
|
- **증상**: 대폭발 시 수백 개의 파편(Shard) 객체가 화면에 잔존하여 프레임 드랍 발생.
|
|
- **해결책**:
|
|
- **Hard Cap**: 파편 최대 생성 개수를 500개로 제한.
|
|
- **Resource Recycling**: 파편의 수명 감소 속도를 6배 상향(0.1 -> 0.6)하여 자원 회수율 증대.
|
|
|
|
## 2. Issue: Rendering and API Type Mismatch
|
|
- **증상**: `undefined` 배열 순회 시 발생하는 런타임 에러.
|
|
- **해결책**:
|
|
- **Optional Chaining**: `GameRenderer.ts` 내 모든 엔티티 순회 로직에 `?.` 및 `|| []` 적용.
|
|
- **Interface Sync**: `WorldModel`에 `items`, `expGems` 등 누락된 필드를 정식 등록하여 정적 분석 강화.
|
|
|
|
## 3. Lesson Learned (조직적 교훈)
|
|
- **Silo Warning**: 엔진 고도화 중 인터페이스 명세서를 동시에 업데이트하지 않을 경우, '느슨한 계약 관리'로 인해 대규모 런타임 에러가 발생할 수 있음.
|
|
- **Defensive Programming**: 외부 주입 데이터가 언제든 `undefined`일 수 있음을 가정하고 순회 로직을 작성해야 함.
|
|
|
|
---
|
|
**Status**: Resolved
|
|
**Context**: Infrastructure / Performance Tuning
|
|
|
|
## 🔗 Knowledge Connections
|
|
### Related Concepts (Auto-Linked)
|
|
* [[Optimization]]
|