본문 바로가기
Unreal

FPS / V-Sync

by ji-han 2025. 4. 2.

언리얼에서 화면 렌더링과 관련된 문제를 해결하기 위해 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