Files
2nd/10_Wiki/Topics_Blog/Fixed Time Step vs Variable Time Step.md
T

32 lines
2.2 KiB
Markdown

---
id: TIMESTEP-001
category: "10_Wiki/💡 Topics/AI"
confidence_score: 1.0
tags: [game-development, simulation, physics-engine, optimization]
last_reinforced: 2026-04-26
---
# Fixed vs Variable Time Step (고정 및 가변 타임 스텝)
## 📌 한 줄 통찰 (The Karpathy Summary)
> "결정론적 물리와 부드러운 렌더링 사이의 줄타기" — 시뮬레이션의 시간 흐름을 일정한 간격으로 고정할지, 프레임워크 속도에 맞춰 유동적으로 조절할지에 대한 설계 선택.
## 📖 구조화된 지식 (Synthesized Content)
- **추출된 패턴:** 연산의 안정성이 중요한 물리 시뮬레이션은 '고정 간격(Fixed)'으로 처리하고, 시각적 부드러움이 중요한 렌더링은 '가변 간격(Variable)'으로 처리하여 병행하는 하이브리드 패턴.
- **Fixed Time Step (고정):**
- **장점:** 물리 법칙의 일관성 보장, 리플레이 재현성(Determinism) 확보, 수치적 안정성 높음.
- **단점:** 저사양 기기에서 시뮬레이션 속도가 느려질 수 있음 (Slow-motion 효과).
- **Variable Time Step (가변):**
- **장점:** 어떤 프레임 레이트에서도 실시간 시간과 동기화됨. 구현이 비교적 단순.
- **단점:** 프레임 드랍 시 물리 연산이 튀는 현상(Tunneling) 발생 위험, 재현성 보장 안 됨.
- **Accumulator Pattern:** '남은 시간'을 축적했다가 고정된 간격만큼 물리 연산을 여러 번 수행하는 현대적 게임 엔진의 표준 방식.
## ⚠️ 모순 및 업데이트 (Contradictions & RL Update)
- **과거 데이터와의 충돌:** 단순히 프롬프트 당 델타 타임(dt)을 곱하던 방식에서, 물리 시뮬레이션의 무결성을 위해 Fixed Update를 분리하는 방식으로 정착.
- **정책 변화:** Skybound 프로젝트는 물리 연산의 안정성을 위해 1/60초 Fixed Step을 사용하며, 비주얼 보간(Interpolation)을 통해 프레임 간 끊김을 방지함.
## 🔗 지식 연결 (Graph)
- **Parent:** 10_Wiki/💡 Topics/AI
- **Related:** Physics-Engine, Game-Loop, Interpolation
- **Raw Source:** 10_Wiki/Topics/AI/Fixed Time Step vs Variable Time Step.md