--- id: TIMESTEP-001 category: Unified confidence_score: 1.0 tags: [game-development, simulation, [[Physics|Physics]]-engine, [[Optimization|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