언리얼에서 화면 렌더링과 관련된 문제를 해결하기 위해 V-Sync와 FPS 제한 기능을 제공
FPS
- 1초 동안 몇 개의 프레임이 표시되는를 뜻함
- 높으면 화면이 부드럽게 보이며 입력 또한 즉각적으로 반응
- 낮으면 화면이 끊기거나 느려지게 보임
V-Sync(수직 동기화)
- 프레임을 출력할 때 모니터의 주사율과 동기화하여 출력하게함
- Screen Tearing 현상이 줄어듬
- 입력 지연이 발생할 수 있다
FPS 제한
- 불필요하게 높은 FPS가 실행되어 시스템 자원이 낭비되는 것을 방지하기 위해 도입
- 너무 높은 FPS는 CPU와 GPU에 과부하를 줌
- 언리얼에서는 특정 FPS로 제한을 두어 일정한 게임 속 시간 계산이 보장
Delta Time
- 이전 프레임과 현재 프레임 사이에 경과한 실제 시간
- FPS가 일정하지 않으면 델타 타임은 매 프레임마다 달라질 수 있음
Delta Time의 중요성
- 델타 타임을 활용하면 프레임 마다를 초당으로 구현 가능
- FPS가 변하더라도 속도가 일관되게 유지
- 보간 시 델타 타임을 기반으로 하여 가중치를 정하고 중간 상태를 계산
- 델타 타임을 기반으로 작동하는 타이머를 이용해 일정한 시간 간격으로 이벤트를 트리거할 수 있음
2025-04-03---------------------------------------------------------------------------------------------------------------------------
Delta Time의 안정화 기법
1. 가변 시간 간격
- FPS 변화에 따라 델타 타임의 값을 그대로 적용
- FPS가 급격히 하락하는 경우 델타타임의 값이 평소보다 크게 계산
- 일정한 동작을 예측하기 어려워짐
2. 고정 시간 간격
- 높은 FPS에서는 연산이 낭비될 수 있음
- 프레임과 무관하게 일정한 시간 간격으로 업데이트
3. 서브 스텝
- 고정 시간 간격의 확장 개념
- 한 프레임에서 계산 되는 델타 타임을 더 작은 단위로 분할하여 여러번 업데이트하는 방식
- 큰 델타 타임에서는 충돌이 스킵되는 현상이 발생할 수 있는데 이를 방지해 충돌 판정의 정확도를 높임
- CPU/GPU 자원을 더 많이 소
4. Delta Time 클램핑
- 델타 타임 값을 일정 범위로 제한하여 예상보다 큰 변화를 방지
- 범위를 너무 낮게 설정시 움직임이 부자연스러울 수 있음
'Unreal' 카테고리의 다른 글
| FIFA 매칭 시스템 (0) | 2025.04.25 |
|---|---|
| 간단한 미니맵 만들기 (0) | 2025.04.11 |
| Replication / RPC (0) | 2025.03.17 |
| 언리얼 네트워크와 객체 통신 (0) | 2025.03.12 |
| 래그돌 (0) | 2025.03.06 |