loading

PC.Div.Soft/Windows.Office

PC용 DirectStorage, PCIe 3.0(NVMe) SSD에서 작동

나에+ 2021. 4. 22. 23:57
반응형

TECHSPOT에 따르면 Microsoft가 발표한 PC용 DirectStorage API가 PCIe 3.0 NVMe SSD에서 작동할 것이라고 합니다.  몇 시간 전에 열린 GSL(Game Stack Live)에서 알려졌는데요, 원래 DirectStrage API는 XBox(콘솔)용으로 만들어 졌는데 이와 동일한 기술로 PC에서는 주로 NVMe SSD와 GPU간의 효율적인 링크를 통해 저장소의 성능을 최대화하는 게 목표라고 합니다. 자세한 내용은 Youtube를 참조하세요. 프레젠테이션 파일은 깃헙에서 받아볼 수 있습니다.

 

**영상은 안 보고 프리젠테이션 쭉 읽어보면, MS의 발표니까 좋은 말 써놨을 거라는 생각은 하고 보는게....

*사실상 앞으로의 게임에 맞춘 거라고 보면 됨. 내 지식으론 NVMe든 SATA든 지금은 윈도의 디스크 호출 API(최대 128K 크기)를 따르고, 결국 시스템 메모리에 올라가고, 여기까지의 과정이 NVMe가 좀 짧고 사실상 현존 CPU한계에 달하기까지의 큐를 호출할수 있다는 정도, 그리고 쓰다보면 윈도도 캐싱하기에 메모리 넉넉하면 게임 로딩 빨라짐;

 

일단 하드웨어의 도약이 바탕이 된 만큼 최신 XBox에서 사용되는 환경이 필요(상당한 수준의 GPU, NVMe SSD), 이는 NVMe SSD의 가격이 하락하고 지금이야 RDNA2 아키텍쳐 같은 최신 그래픽이 필요하지만 이 DirectStorage API가 보편화될 때 쯤이면 보급형 그래픽카드나 이런 곳에서도 지원할 수 있게 되지 않나 싶고. 당연하겠지만 최신 기술이니 지금은 DirectX 12 Ultimate 지원 하드웨어에서 가장 좋은 성능이 나온다고. 그리고 DS등의 기술은 미래 하드웨어 발전 및 새로운 최적화 기술을 고려하고 개발하는거라고 함.

 

GPU만이 아니라 CPU, SSD(NVMe)와 같은 걸 DirectX 12에서 병렬화(동시에 여러개 및 최적 전달 경로 할당)할 수 있는 최적의 API로 만든게 바로 DS, 그리고 이를 활용하는게 DX12이기에 최소 DirectX 12를 지원해야 하는 거고, 기존 스토리지 스택(윈도의 HDD까지 포함한 액세스용 API)이 하던 일이 아닌, 이 DS가 DS를 사용해 만들어진 게임에서 CPU의 압축 해제하는 성능보다 NVMe SSD - GPU의 빠른 압축 처리 해제 성능을 사용해, 앞으로 방대해질 게임 데이터의 입출력에 필요한 CPU 낭비를 줄이자는 것.

 

지금까진 괜찮았지만 앞으로의 게임(특히 고해상도 ~8K)에서는 데이터의 크기가 엄청 커져서, 이를 처리하기 위한 오버헤드가 부담이 된다 > 그럼 콘솔처럼 뭔가 하드웨어를 추가하나? 아니, 그냥 기존 하드웨어에서, 무지막지한 성능 향상이 있었던성능 향상이 큰 SSD와 GPU가 뭔가 할 수 있는 걸 만들자 + 게임 최적화(Sampler Feedback 등 활용)도 필요.

 

DS가 결국 병렬화(하나씩 처리하던 자잘한 것들을 한꺼번에 모아서 처리)니까, 게임을 만들 때에도 각종 최적화 기술들(결국 DX12 이후의 기술들이겠지만)을 사용해서 미래의 게임 역시 멀리 보이는 건 작게 보이게 만든다든지, 화면에서 보이지 않는 것들은 안그리는 뭐 그런 기술들은 그대로 사용될 거고, 결국 CPU/GPU가 I/O에 낭비하는 자원을 줄이고 처리량(동시처리 능력-NVMe만이 DS를 만족하는 다중 큐 기술이 가능하기에 SATA SSD는 불가능)이 늘어난 만큼 이를 활용하자. 라는 게 DS의 주된 내용.

 

그리고 시스템 메모리(CPU 압축 해제)에 복사되어야 할 내용도 있기에 기존 윈도 스토리지 스택의 최적화 역시 진핼될 거라고. 그리고 후반에 보면 당연하겠지만 이렇게되면 게임에 필요한 메모리가 그래픽 카드에 장착되는 VRAM 크기 증가보다 더 클거기에 이를 보완할 수 있는 기술들(실제 메모리보다 더 많은 메모리를 사용할 수 있는 것처럼 보이게)이 필요할 것이라고 함.

 

어, 사실 개발자들이라면 다 아는 내용이겠지만 아직도 DX9/11을 붙잡고 있는 국내 온라인 게임에서는 이를 사용해 이득보는 건 어렵고, 사실 지금도 잘 되는 거 굳이 쓰기 힘든 DX12를 써야 하는 이유는 없을 것 같고; 이를 활용하는 게임은 일단 이 DS부터 올해 여름 제한적 미리보기 나온다고 하니 콘솔 게임아니라면 적어도 4년(게임 개발을 고려해보면 더 오래 걸릴지도) 후에야 나오지 않나 싶다. 그러니 지금 업글하니 어쩌니 걱정 안해도 되염.

 

앗 그럼 미래의 DS 지원 게임에서는 리사이즈 바 기능은 그다지 필요 없는 기술이 되는 건가.... 그래서 엔비댜가 RTX-IO니 뭐니 자사 하드웨어로 DS를 더 잘 사용할 수 있게하려고 한 거구나. 아무튼 이 DS를 사용해서 게이머가 얻을 수 있는 이득은, 일단 무엇보다 기존의 느린 윈도의 데이터 입출력을 통하지 않아도 되기에 NVMe 및 CPU, GPU 성능이 허락하는 만큼(대게 보통 개발자가 설정하겠지만)의 빨라진 게임 로딩 속도, 여전히 게임 속 최적화는 필요하지만 한 번 에 도달할 수 있는 데이터량이 커진 만큼 좀 더 큰 텍스쳐를 사용해도 됨 > 좀 더 고해상(화면 해상도 및 텍스처 질감이나 뭐 이런것도)도 게임을(데이터 처리에 드는 오버헤드를 줄여) 비교적 고성능으로 할 수 있게 된다는 점...인 듯.

 

이리저리 길게 말했지만 결국 신형 XBox 에 적용된 최신 기술(DX12)을 PC에도 가져오는 거고, PC의 하드웨어가 충분한 성능이 받침된다면(그 최소 스펙이 일단 PCIe 3.0 NVMe SSD + DX12 지원 별도 그래픽 카드), 이를 동일하게 활용하자는 거고, PC는 콘솔만큼 게임만 돌아가거나 하는 건 아닐테니(알탭으로 이것저것 해놓기도 할거고, 방송이나 녹화를 할 수도 있을거고...) 고려할 게 많겠지만 충분한 성능과 미래에 기대되는 기술을 포함할 기초 토대를 닦는다고 보면 되겠다.

 

결국 지금 PCIe 3.0 부터 어쩌구하는 건 사실 별 중요하지 않다는 이야기. 어차피 이게 올바르게 구현되려면 적당한 가격으로도 DX12 Ultimate 지원하는 PC가 보편화되고, 노트북에도 되고, 뭐 그런 시기가 되지 않나 싶음. 게임의 해상도도 커질거고, HDR, 레이 트레이싱같이 GPU/CPU가 처리해야 할 부담도 많아 질 거니까 결국 PC 업글은 필요해요. 아무리 스토리지 - GPU로 넘어간다고 해도 결국 글카에게 뭐뭐를 어떻게 그려야 해요, 시간 내 처리 순서는 니가 정해도 되지만...하면서 츤데레 스럽게(....) 지시하는 건 여전히 CPU가 할거고, 아무리 개발자가 세세한 설정까지 조율이 가능한 DX12라고 해도 그만큼 그거 개발자 일 늘어나는 거고요.

 

개인적으론 일단 하드웨어의 성능을 십분 발휘할 수 있다는 거 자체는 좋다고 생각함. 지금은 파일 큰 거 옮기거나 압축 풀거나 할 때 말고는 솔직히 좀 NVMe SSD가 효율이 떨어지는 건 사실이니까. 아... 그럼 게임이 아니어도 영상 편집 프로그램 등에서는 활용도가 높...아니 근데 여긴 또 Mac 지원이 많아서 DX12는 안 쓸 거 같기도... 아무튼 그냥 되게 옛날부터 있던 방식이 요즘 하드웨어에 맞춰 변화해가는 모습을 보고 있는 거라고 생각하면 되지 않나 싶어욥.

 

 

 

 

 

반응형