UE Dedicated Server, 단계별로 최적화해 보기

최적화가 없는 서버에서 시작해 기법을 하나씩 켠다. 단계마다 서버의 일이 얼마나 줄어드는지 지도와 숫자로 볼 수 있다.

UE5 Dedicated Server 최적화 실험실의 측정을 바탕으로 만들었다.

서버 프레임 시간 평균 측정

서버가 보는 지도

채널이 열린 자원 노드 채널 없이 클라이언트에 남은 자원 노드 채널이 열린 NPC 채널이 열린 건축물 채널 없이 클라이언트에 남은 건축물 아무에게도 보내지 않는 액터 플레이어와 150m 원

한 프레임의 흐름

재생 속도

클라이언트 하나가 가진 것

걸어 다니는 클라이언트 하나의 주변 700m다. 클라이언트에 존재하는 액터만 그린다.
자원 노드0
NPC0
건축물0
열린 액터 채널0

NPC 하나의 움직임

10m를 왕복하는 NPC다.
  • 흰 고리: 서버의 위치
  • 빨간 점: 클라이언트가 서버에서 받은 위치
서버 프레임 간격0
갱신 간격(평균)0
초당 갱신0

실제 서버에서 측정한 값

같은 시나리오를 세 번 실행한 중앙값이다.

인벤토리 한 번이 가는 길

플레이어 여덟 명의 인벤토리 200칸이다. 서버는 0.5초마다 한 사람의 맨 앞 칸을 지우고 맨 뒤에 새 칸을 더한다.
  • 흰 칸: 그 변경으로 연결에 보내는 칸
  • 파란 칸(아래 줄): 그 변경을 받는 연결
바뀐 인벤토리를 받는 연결0
연결 하나에 보내는 칸0
한 번의 최대 크기(측정)-
인벤토리 송신량(연결 하나, 측정)-

리플리케이션 시스템만 바꾸면

8단계의 설정을 그대로 두고 리플리케이션 시스템만 바꾼 세 구성이다. Iris는 Replication Graph와 함께 쓸 수 없어서 9단계 위에 쌓지 않고 나란히 놓는다. 세 구성은 Iris 글이 같은 날 연달아 잰 묶음이라, 위 8단계와 9단계의 값(각 글이 잰 묶음)과 조금 다르다. 그래서 이 카드 안에서만 견준다. 지금 고른 단계와 같은 구성에는 테두리와 "지금 단계"를 표시한다. Iris는 쌍마다 세는 이 페이지의 시뮬레이션으로 그릴 수 없어서 측정값만 보인다.

이 비교의 글 읽기