게임 엔진
게임은 일반적으로 그림 1과 같이 사용자 입력을 받고 그에 따른 프레임을 렌더링하는 사이에 여러 단계를 거칩니다. 게임에 따라 한 자릿수 밀리초에서 수백 밀리초까지 다양할 수 있습니다. 스트리밍 서버와 XBOX 콘솔 간의 게임 엔진 지연 시간에는 차이가 없지만, 사용자는 스트림의 나머지 지연 시간과 결합될 때 그 영향을 더 크게 체감할 수 있습니다. 게임 엔진 지연 시간과 프레임 속도를 최적화하면 사용자가 게임에서 경험하는 지연 시간이 줄어듭니다.서버
그림 1에서 XBOX Streaming Server 시간의 나머지는 클라이언트에 보낼 프레임을 준비하는 데 사용됩니다. 이는 주로 GPU에서 프레임을 검색하는 Capture 단계와 네트워크 대역폭을 최적화하기 위해 프레임을 스케일링하고 압축하는 Encode 단계에서 발생합니다.네트워크
XBOX 서버는 스트리밍 클라이언트로 비디오를 보내고 인터넷에서 입력을 받습니다. 해당 네트워크 연결은 다음 요소에 따라 가변적인 지연 시간을 갖습니다.- 클라이언트 디바이스와 서버 간의 물리적 거리.
- Microsoft는 가능한 한 거리를 최소화하기 위해 전 세계 Azure 데이터센터에 서버를 배포합니다. XBOX 콘솔에서 스트리밍하는 사용자는 더 멀리 떨어져 있을 수 있습니다.
- 사용자의 인터넷 연결 속도.
- 사용자의 인터넷 연결 유형 및 하드웨어.
- 예를 들어, 2.4기가헤르츠(GHz) 무선 네트워크 연결은 종종 5 GHz 연결보다 지연 시간이 더 깁니다. 일부 인터넷 서비스 공급자(ISP)에는 지연 시간을 증가시키는 버퍼링 전략도 있습니다.
XGameStreamingGetStreamAddedLatency는 지연 시간의 표준 편차(“지터”라고도 함)를 반환합니다.
스트리밍 네트워크 지연 시간 시뮬레이션에 대한 자세한 내용은 게임 테스트 중 지연 시간 시뮬레이션을 참조하세요.
클라이언트
클라이언트가 비디오 프레임을 수신하면, 프레임을 디코딩하고 자체 그래픽 스택을 통해 표시해야 합니다. 클라이언트의 그래픽 하드웨어에 따라 디코딩에 걸리는 시간이 결정됩니다. 또한 대부분의 클라이언트는 다음 프레임을 표시하기 위해 로컬vSync 타이머를 기다려야 합니다. 60헤르츠(Hz) 화면이 있는 클라이언트에서는 평균 8ms가 소요될 수 있습니다.
TV에 연결된 XBOX 콘솔에서 플레이되는 게임과 마찬가지로, 스트리밍 클라이언트는 자체 지연 시간이 있는 디스플레이를 사용합니다.
디스플레이 지연 시간은 몇 밀리초의 지연 시간을 가진 빠른 게임 모니터부터 게임 모드가 없는 저렴한 모바일 디스플레이나 TV에서 수백 밀리초가 걸리는 것까지 다양합니다. 디스플레이가 항상 지연 시간을 보고하지는 않으므로 XBOX Game Streaming API에는 클라이언트 디스플레이 지연 시간이 포함되지 않습니다.
컨트롤러 및 터치와 같은 기타 입력 방법에도 지연 시간이 있습니다. 컨트롤러에 대한 Bluetooth® 연결은 눈에 띄는 지연 시간을 추가할 수 있습니다. 디스플레이 지연 시간과 마찬가지로, 입력 지연 시간은 클라이언트에서 측정할 수 없으므로 XBOX Game Streaming API로 표시되지 않습니다.
