-
Google Stadia 분석: Performance(성능)편Analysis 2019. 5. 10. 19:03
Stadia Performance
Stadia 발표에서 가장 놀라운 부분은 바로 런칭 시점에 4K 비디오를 60 FPS로 제공하고, 향후 8K로 확장한다는 부분이었다. 만약 구글이 발표한 성능이 스트리밍을 포함한 end to end delay라면 이 발표는 너무 심한 과장이라고 볼 수 있다. 서버에서 렌더링 처리가 완료된 시점부터 계산을 하더라도 한 장의 최종 4K 화면을 인코딩 -> 네트워크 전송 -> 디코딩 -> 클라이언트단의 렌더링하는 전체 과정이 16ms 이내에 완료되어야 한다. 버퍼링이 가능한 비디오 스트리밍에서도 달성하기가 쉽지 않은 수준인데, 버퍼링이 불가능한 게임 스트리밍에서 현재의 네트워크와 장비를 이용해 이와 같은 성능을 보이는 것은 굉장히 어려운 일이기 때문이다. 스트리밍 솔루션을 구축해본 경험이 있는 사람이라면 구글의 수치가 얼마나 과장되었는지 알 수 있을 것이다. 세계에서 가장 빠른 대한민국의 네트워크 환경에서도 최대 성능으로 잡을만한 목표인데, 글로벌 환경에서 이와 같은 수치는 불가능하다 해도 과언이 아닐 것이다. 설혹 구글이 이런 현실적인 제약을 전부 극복하고 4K 60 FPS를 어떤 환경에서도 제공할 수 있는 기술을 가지고 있다면 현재 엄청난 수익을 가져다 주고 있는 유투브에 먼저 적용하지 않았을까? 그 대단한 기술을 아직 성공 가능성도 예측할 수 없는 신규 플랫폼에 먼저 투입하는 것은 상당히 어색한 접근이다.
상식적으로 생각해 볼 때 이 지표를 통해 구글이 의미하는 바는 Stadia 서버에서 4K 게임 컨텐츠를 60 FPS로 구동한다는 의미로 보인다. 이 결과물이 클라이언트 기기로 전달되어 최종적으로 렌더링 되는 성능은 물론 이것보다 떨어질 것이다. Stadia는 크로스 플랫폼을 지향하기에 사용자의 기기마다, 또 네트워크 환경마다, 성능이 다르게 나타날 것이다. 결국 사용자들이 체감하는 성능은 서버에서 구동되는 게임의 성능이 아닌 실제 클라이언트 기기에서 체감되는 성능인데, 그렇다면 실제 Real World에서 Stadia의 성능은 어떨까하는 궁금증이 생기지 않을 수 없다.
유투브의 Digital Foundry 채널에서는 Stadia에 대한 소개와 함께 Latency 측정 결과를 공유하였다. 측정 방법은 초고속 카메라를 사용해서 물리적인 버튼이 눌리는 시점부터 화면에 버튼 동작이 반영되는 시점까지의 시간을 측정했다. 소프트웨어적인 측정보다는 부정확한 면이 있을 수 있지만 사용 경험 면에서 보기에는 충분히 유의미한 숫자로 해석될 수 있을 것이다. 몇몇 테스트 제약 조건이 있는데 Stadia는 와이파이에 연결된 픽셀북에서 측정하였고, 나머지 플랫폼의 경우에는 유선 연결을 사용하였다. Project Stream은 Stadia의 조상격인 구글의 스트리밍 프로젝트이고 200mbps의 유선 연결을 사용해 측정되었다. 전체 측정 결과는 다음과 같다.
Platform Stadia Project Stream PC 30fps PC 60fps Xbox One X Latency 166ms 179ms 112ms 79ms 145ms source: https://youtu.be/VG06H7IQ9Aw?t=731
Stadia는 166ms의 측정결과를 보인다. 입력 랙이 포함되어 있다고는 하지만 60 FPS를 구현하기 위한 16ms와는 거의 10배 정도의 차이가 난다. 스펙상으로 뒤떨어질 것처럼 보였던 Xbox나 PC의 성능은 Stadia보다 더 뛰어나다. 그리고 예상대로 하이엔드 PC가 가장 좋은 성능을 보여주고 있다. 물론 Stadia의 166ms라는 수치도 기존의 클라우드 게임 서비스와 비교할 때 그렇게 나쁜 수치는 아니다. 오히려 클라우드 업계에서는 뛰어난 축에 속하는 수치라고 볼 수 있다. 하지만 기존 게임 플랫폼을 뒤집기에는 한참이나 부족한 숫자로 보인다. 하이엔드 PC는 1초에 10번의 입력에도 훌륭하게 반응한다. 하지만 Stadia는 1초에 6번 이상의 입력이 발생할 경우 랙을 느끼게 된다. 캐주얼한 게임이나 시뮬레이션 게임과 같이 정적인 부분이 많은 게임에는 문제가 없겠지만, RTS나 FPS같이 PC 사양에 따라 승패가 갈릴 정도의 인텐시브한 게임에서는 승률이 떨어지는 것을 직접 체감할 수 있을 것으로 예상된다.
Digital Foundry의 이어지는 테스트 결과에서는 조금 다른 설정을 사용한 결과를 보여준다. 여기서 재미있는 숫자가 나타난다.
Platform Stadia Project Stream
'15 mbps'
PC 30fps PC 60fps Xbox One X Latency 166ms 188ms 112ms 79ms 145ms source: https://youtu.be/VG06H7IQ9Aw?t=776
다른 결과는 비슷하지만 Project Stream의 테스트 조건이 15mbps로 변경되었다. 그리고 변경된 Project Stream의 Latency는 188ms로 이전 테스트의 179ms보다 증가한 것을 볼 수 있다. 15mbps는 인코딩된 비디오 스트리밍의 비트레이트를 의미한다. 비디오 인코딩에서 비트레이트를 높일 경우 높은 품질의 영상을 얻을 수 있지만 데이터의 양이 증가한다. 반면 비트레이트를 낮추면 영상의 품질이 떨어지지만 데이터의 양이 감소하게 된다. 예전 512KB의 MP3 파일과 128KB의 MP3 파일의 음질 차이와 같은 현상이 비디오에서도 나타나는 것이다. 두 번째 테스트에서 15mbps를 적용하였을 때 퍼포먼스가 더 저하되었다는 점에서 첫 번째 테스트의 Project Stream은 15mps이하의 비트레이트를 사용하였다는 것을 유추할 수 있다. Stadia는 수치가 그대로인 것으로 보아 첫 번째 테스트와 두 번째 테스트 모두 동일한 비트레이트를 사용했고 이는 15mbps보다 낮을 것이라 예상된다.
구글은 Stadia의 출시 시점에 4K 60FPS를 적용하고 추후 8K로 확장할 것이라 언급했다. 그런데 게임 화면의 변화 정도에 따라 조금 달라지기는 하겠지만, 15mbps의 비트레이트는 4K 화면을 깨끗하게 전송하기에는 조금 모자란 수치이다. H.264를 사용한다고 가정했을 때, QHD급의 화면을 15mbps로 인코딩하면, 게임 화면의 디테일한 부분이 깨지는 것을 육안으로 관찰할 수 있다. QHD의 2배에 해당하는 4K 화면에서는 15mbps 인코딩에서 더더욱 화면이 깨질 것이다. 하물며 8K에서는 뭉개짐의 수준이 더욱 올라갈 것이다. 4K 해상도를 전달하기 위해서는 최소 20mbps이상의 비트레이트가 적절하고, 8K라면 30~50mbps 까지 필요 수준이 올라갈 가능성도 있다. 향상된 비트레이트는 Stadia의 Latency를 더욱 끌어올릴 것이 자명하다는 점에서 Stadia의 8K 지원이 부풀려진 것임을 짐작할 수 있다. PC 게임 조차도 대부분 FHD를 사용하고 4K게임이 이제 늘어나고 있는 추세인데 8K게임은 조금 더 먼 미래의 일로 생각된다.
GDC에서 구글이 시연한 어새신 크리드의 동작을 보면 시연임을 감안해도 괜찮은 수준인데, 아마도 구글이 인코딩 시점에 4K화면을 그대로 사용하지 않고 더 낮은 해상도로 변환하여 스트리밍했을 가능성이 높아 보인다. 실제 안드로이드 기기들도 모니터에 비해 작은 화면을 가지고 있기에 4K 컨텐츠를 재생할 때 이미지 버퍼를 더 작은 버퍼로 줄여서 사용하는 것이 일반적이다. 즉, 컨텐츠가 아무리 4K여도 실제 렌더링은 무늬만 4K인 것이 현실이기에 스트리밍 해상도 변환이 큰 문제는 아니다. 하지만 이런 상황에서 4K 60 FPS를 Stadia의 성능 지표로 내세우는 것은 너무 과장이 심한 것으로 판단된다.
Fin.
반응형'Analysis' 카테고리의 다른 글
Google Stadia 분석: Future(전망)편 (2) 2019.05.10 Google Stadia 분석: Ecosystem(생태계)편 (0) 2019.05.10 Google Stadia 분석: Specification(사양)편 (0) 2019.05.10 Google Stadia 분석: Features(기능)편 (0) 2019.05.10