그간 이미지와 영상, 그리고 윈도우 스타트업 사운드 11분 동안 담아낸 티저 등을 통해 출시 임박을 알렸던 마이크로소프트의 차세대 OS, 윈도우11(Windows11)이 드디어 공개됐다. 다양한 정보를 개선된 위젯으로 정렬하고 활용도가 점점 떨어져만 가는 시작 버튼의 인터페이스도 직관적이고 편리하게 변경된다. 여기에 아마존 앱스토어를 통한 안드로이드 앱 이용과 새로운 멀티 태스킹으로 작업 효율도 함께 높였다. 그리고 윈도우10 기반 PC에서의 무료 업그레이드 소식도 그냥 지나칠 수 없는 이야기다.

하지만 스팀이, 에픽게임즈 스토어가, 배틀넷이, 유플레이가, 오리진이 게임을 즐기는 메인 플랫폼인 PC 게이머들에게 이런 건 크게 중요하지 않을지도 모르겠다. 괜히 업데이트로 내가 게임 즐기는 게임 안 돌아가는 건 아닐지, 혹은 게임할 때 뭐 더 나아지는 건 있는지. 이런 게 더 관심 있는 내용일 테니 말이다.

그렇다면 여기 다른 어떤 것보다 눈여겨볼 기능이 있다. 바로 최신 게이밍 기술의 도입이다. 레이트레이싱이나 가변 레이트 쉐이딩 등 게임 내 그래픽 품질을 끌어올리는 다이렉트X 12 얼티밋이 도입되고 자동 HDR도 정식으로 지원된다. 이런저런 앱과 웹으로 통일되지 않은 경험을 제공하던 PC용 Xbox 게임 패스와 클라우드 게이밍 플레이가 공식 앱을 통해 한 자리에 모이게 됐다.

그중에서도 진짜 기대할 부분은 바로 Xbox 시리즈 X|S에서 구현됐던 다이렉트 스토리지(DirectStorage) API의 도입이다. 그리고 이를 통한 로딩 시간의 급격한 단축. 이른바 즉시 로딩이라는 꿈이 가능해지게 됐다.


다이렉트 스토리지는 마이크로소프트가 차세대 Xbox의 혁신을 주장할 때 나온 Xbox 벨로시티 아키텍처 핵심 구성 요소 중 하나다. 사실 이것만 똑 떼놓고 말하기엔 무리가 있을 정도로 다이렉트X, 하드웨어 성능 향상과 압축 기술의 발전, 메모리 대역폭 등 관련된 기술이 여럿 얽혀있지만, 축약해 설명하자면 NVMe 저장장치에 저장된 데이터를 CPU, GPU 사이에서 입력하고 출력하는 작업의 제어권을 제공하는 기능이다.

오늘날 게임을 살펴보자. 오픈 월드 게임의 등장과 함께 게임의 규모가 커지며 오브젝트는 전과 비교할 수 없을 정도로 많아졌다. 굳이 오픈 월드 게임이 아니더라도 4K 해상도의 지원, 텍스트 퀄리티 향상과 함께 저장 디스크에서 로딩해야 할 데이터가 크게 늘었다. 이들 데이터는 압축된 상태로 로딩되고 많은 유저들은 더 많은 데이터를 빠르게 전송해준다는 SSD를 게임용 저장장치로 선택해 게임 로딩 속도 향상을 꿈꾼다.

기존의 하드 디스크가 초당 50~100MB 정도의 전송 속도를 가졌다면 SATA 인터페이스를 사용하는 SSD는 500MB, 최신 Gen4 NVMe SSD의 경우 7,000MB를 매초 전송할 수 있다. 하지만 플레이어들은 잘 안다. 처리 장치 속도가 일정 수준을 넘어선 이후에는 처리 속도만큼의 로딩 속도 향상이 이루어지지 않는다는 걸 말이다.


지금까지는 이 데이터를 CPU가 먼저 받아 처리했기 때문이다. 저장 장치의 데이터는 CPU를 거쳐 시스템 메모리에 저장되고 압축을 푼 데이터는 다시 GPU로 전달된 후 GPU 메모리에 저장된다. 이후 GPU는 저장된 데이터를 통해 이를 화면으로 송출한다.

일찌감치 다이렉트 스토리지 기술과 함께 GPU 처리 기술을 공개한 엔비디아의 RTX IO를 생각하면 이해가 쉽다. RTX 30 시리즈 발표 당시 엔비디아는 압축된 초당 약 7GB의 데이터를 GPU가 처리하는 데에 약 20개의 CPU 코어가 사용된다고 주장했다.

이때 CPU가 처리할 데이터 압축 해제 과정을 CPU를 건너뛰고 하드웨어 압축 해제 능력이 뛰어난 GPU에게 맡긴다면 중간 처리 과정이 줄어든 만큼 최종 결과 속도는 빨라진다. 할 일이 몇 개 사라진 CPU 자원도 더욱 효율적으로 활용할 수도 있다.


NVMe 드라이브를 통해 대역폭은 늘어났는데 게임은 필요한 데이터만을 잘게 쪼개 초당 수만 개의 입출력(I/O)을 요청한다. 기존의 API의 경우 이런 각각의 요청을 한 번에 하나씩 관리하고 처리되도록 애플리케이션에 전달한다.

반면 다이렉트 스토리지 API에서는 동시에 여러 입출력 요청이 가능한 병렬 I/O 요청을 활성화하고 애플리케이션이 모든 I/O 완료에 반응할 필요 없이 세부적인 제어권을 제공한다.

단순히 로딩 속도의 향상이 눈에 띄긴 하지만, 개발자들은 이러한 I/O 과정 단축을 통한 보다 많은 데이터 처리로 얻는 콘텐츠 경험에 집중한다. 이전에는 로딩 시간 동안 많은 정보를 미리 불러와 저장해두는 만큼 환경 구현 자체에 많은 자원이 들어갔다. 하지만 플레이어의 시야, 혹은 지역 이동에 따라 능동적으로, 그리고 빠른 로딩이 가능하니 개발자는 같은 성능에서 플레이어의 액션이나 상황에 따라 변하는 콘텐츠를 더욱 다양하게 그릴 수 있게 되는 셈이다.


다이렉트 스토리지 API가 지금 당장 모든 게임, 모든 환경에서 극적인 변화를 가져오지는 않을 것이다. 한 번에 불러오는 양이 하드디스크 분량, 혹은 지금의 시스템에서도 충분한 저사양 게임일 경우 증가하는 로딩 속도를 체감하긴 어렵다. 또 기술상으로는 짧은 시간 안에 배워 적용할 수 있을 정도로 쉽다고는 하지만, 이미 출시된 모든 게임이 이를 위한 개선 작업을 하지 않을 수도 있다.

또 하나의 문제는 사양이다. 우선 NVMe SSD가 필요하고 다이렉트X12 얼티밋이 가능한 GPU 스펙도 만족해야 한다. RTX 2000번대 이상, 라데온의 경우 RDNA2 라인이 해당하는데 금값이 된 그래픽 카드를 장착해야 한다는 소리다. 또 Xbox와 달리 모두 똑같은 기기 환경을 갖춘 게 아니기에 특정 상황에 따라 예상치 못한 문제가 발생할 수 있다. 이는 다이렉트 스토리지의 PC 버전 지원 과정에서 MS가 가장 고심한 문제 중 하나기도 하다.

윈도우11 이후 향상된 게임 경험을 모든 게임에서 즐기는 데는 시간이 필요하다. 하지만 하드웨어 성능을 따라가지 못하는 인터페이스의 개선이 없다면 결국은 계속 제자리일 뿐이다. 윈도우11의 게이밍 변화는 오늘이 아니라 내일 우리의 게임을 바꿀 것이다.