게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
[스압]다이렉트X12로 향상된 게임 프레임, 그 비밀은?
게시물ID : computer_258902짧은주소 복사하기
작성자 : 한프런트
추천 : 1
조회수 : 1747회
댓글수 : 0개
등록시간 : 2015/08/24 20:17:32
옵션
  • 펌글
k154363p1n12.jpg

마이크로소프트의 윈도우10이 정식 출시됨에 따라 PC 게이밍 시장에 새로운 이정표가 만들어 졌다.


나날이 발전해 가는 하드웨어 환경과 동떨어져 개발자의 상상력에 족세를 채워 왔던 다이렉트X11(DirectX11)를 던져 버리고 모든 상상력을 그대로 실현할 수 있도록 고안된 다이렉트X12(DirectX12)가 드디어 현실에 구현된 것이다.


오늘은 PC 게임 세상을 이끌어갈 차세대 게임을 만나보기에 앞서 다이렉트X12와 관련된 궁금증과 차세대 게임의 발전 방향에 대해 이야기 해 보도록 하겠다. 


■ 다이렉트X12, 무엇이 다른가?


k154363p1n2.jpg

다이렉트X12와 다이렉트X11 이전 세대의 차이는 사실 상 CPU 자원 활용으로 설명이 가능하다.


다이렉트X11을 포함한 이전 세대는 더 나은 그래픽을 구현하기 위해 GPU에 새로운 기능을 더하면서 좀 더 프로그래머블한 환경을 만드는 쪽으로 맞춰 졌지만 날이 갈수록 진화하는 멀티 CPU 환경에는 제대로 대응하지 못하는 한계가 있었다.


CPU 개발이 코어 확장에 집중되면서 물리적인 CPU 코어는 늘어났지만 다이렉트X11로 활용할 수 있는 CPU 코어는 대략 3~4개 내외였고 한쪽 코어에만 작업이 집중되는 구조여서 CPU 자원을 제대로 활용하지 못했다.


이 때문에 아무리 고성능 그래픽카드를 사용하더라도 일정 프레임 이상을 넘기 힘들었고 게임 내에서 재현할 수 있는 NPC 수도 제한 받을 수 밖에 없었다. 아무리 고성능 CPU와 그래픽카드를 탑재한 PC라도 대규모 공성전에선 현저하게 줄어든 프레임을 경험할 수 밖에 없었는데 다이렉트X12는 이러한 문제를 해결할 수 있다.


k154363p1n3.jpg


▲ 코어 마다 점유율 차이가 큰 다이렉트X11, 다이렉트X12는 전체 코어 활용


다이렉트X11에서는 하나의 프레임을 랜더링 하기 위해 게임 코드와 런타임, 드라이버 등을 하나의 CPU 코어가 처리하도록 되어 있다. 게임 코드와 런타임을 다른 코어에 할당할 수도 있지만 대부분의 작업이 하나의 CPU 코어에 집중되면서 결국 이 코어에 따라 랜더링 시간이 결정나게 된다.


다이렉트X12는 이런 방식에서 탈피해 게임 코드와 런타임 그리고 드라이버 작업을 다른 코어로 분리해 처리할 수 있도록 만들어 졌다. 코어에 따라 작업량에 차이는 있지만 더 많은 CPU 코어에서 더 다양한 작업을 분산 처리할 수 있어 전체 작업 시간을 절반 가까이 낮출 수 있게 됐다.


이러한 변화는 드라이버에 의존하지 않는 다이렉트X12 구조적 특징도 한 몫한 결과인데 기존까지는 게임 엔진이 드라이버 레벨에서 제공하는 기능을 불러와 사용하는 방식였지만 다이렉트X12는 게임 엔진 스스로 하드웨어를 컨트롤 하는 구조여서 그에 따른 오버헤드가 적다.


k154363p1n4.jpg

전혀 다른 구조의 API를 적용하기 위해서는 보다 복잡하고 어려운 새로운 프로그래밍 방식이 요구되지만 대표적인 상용 게임 엔진들이 다이렉트X12를 지원하게 되면서 일반 게임 개발자들은 Low Level API 적용에 대한 스트레스를 걱정할 필요가 없어졌다.


Low Level API 시대를 이끌어 낸 AMD 맨틀 API를 이미 경험했거나 도입한 개발사라면 다이렉트X12로의 전환이 어렵지 않다고 하는데 맨틀과 다이렉트X12를 비교해 보면 상당히 많은 부분이 닮아 있는 것을 발견할 수 있다.


마이크로소프트가 직접 AMD 맨틀을 언급하진 않았지만 AMD는 다이렉트X12 개발에 자사의 맨틀 API가 모델이 되었고 MS에 협력해 왔다는 점을 강조한 바 있다.


 ■ 프레임 향상 가져 올 특별한 기술 - 비동기식 컴퓨팅


다이렉트X12가 적용된다고 게임 프레임이 크게 향상되는 것은 아니다. API 오버헤드 차이로 프레임 향상을 기대할 수 있는 것도 사실이지만 다이렉트X11로도 GPU 자원을 충분히 활용해 온 상황에선 큰 변화는 없다.


다이렉트X11 기반 게임을 다이렉트X12로 그대로 포팅하면 CPU 자원 활용 차이로 저해상도나 낮은 옵션에서만 프레임 차이를 경험할 수 있을 뿐 게이머가 원하는 고해상도, 고퀄리티 옵션에선 큰 차이를 경험할 수 없다.


다이렉트X12를 통해 드로우콜 처리량이 비약적으로 높아졌다해도 GPU가 가진 성능을 100% 가까이 활용해 온 상황이라면 프레임 변화는 극히 제한적일 수 밖에 없다는 것인데 고해상도, 고퀄리티 옵션에서도 프레임 향상을 이뤄낼 기술이 전혀 없는 것은 아니다.


k154363p1n5.jpg



다이렉트X12는 GPU 내부의 작업 효율을 개선하기 위한 비동기식 컴퓨팅을 지원한다. GPU가 처리하는 주요 작업들을 하나의 파이프라인에서 순차적으로 처리하지 않고 작업 종류에 따라 분류한 후 이를 동시에 처리해 전체 작업 시간을 크게 개선하는 방식이다.


실질적인 랜더링 작업을 위한 그래픽 큐와 물리 연산, 광원 효과, 포스트 프로세싱에 사용되는 컴퓨트 큐 그리고 단순한 데이터 전송에 사용되는 카피 큐를 구분해 동시에 처리하면서도 서로 다른 종류로의 작업 전환 시 지연 시간을 최소화 할 수 있다.


결국 GPU가 쉬는 시간을 최소화해 고해상도, 고퀄리티 옵션에서도 더 높은 프레임을 경험할 수 있게 해준다.


다만, 순수 API 레벨에서 구현되는 기술은 아니라서 GPU 내부에 비동기 처리를 위한 전용 엔진이 요구되는데 AMD는 초기 GCN 시절부터 이를 지원할 수 있는 구조가 적용되어 있다.


그래픽과 컴퓨트, 카피 큐를 동시에 처리할 수 있는 컴퓨트 엔진이 GPU에 따라 2개에서 8개까지 내장되었으며 각각의 엔진마다 8개의 큐를 처리할 수 있어 최대 64개의 큐를 처리할 수 있다.


엔비디아는 32개의 큐를 처리할 수 있는 엔진을 내장하고 있지만 지포스 900 시리즈(2세대 맥스웰)에서만 그래픽과 컴퓨트, 카피 큐를 동시에 처리할 수 있는 것으로 알려져 있다.




참고로, 비동기식 컴퓨팅을 강조해 온 AMD 자체 평가 자료에 따르면 비동기식 컴퓨팅 차이로 45% 이상의 프레임 향상을 가져올 수도 있다고 한다.


해당 테스트는 포스트 프로세싱 효과에서 비동기식 컴퓨팅 적용 유무를 비교한 것인데 컴퓨트 연산이 요구되는 광원 처리에서도 약 10% 정도의 프레임 향상을 기대할 수 있다고 한다.


 ■ 프레임 향상 가져 올 특별한 기술 - 멀티 어댑터


k154363p1n6.jpg

GPU 사용율을 극대화 해 프레임 향상을 가져올 비동기식 컴퓨팅과는 별개로 추가적인 하드웨어 활용해 프레임을 향상시키는 기술이 다이렉트X12에 포함됐다.


마이크로소프트가 지난 4월 30일 발표한 멀티어댑터가 주인공인데 이 기술을 사용하면 CPU에 내장된 GPU를 활용해 전체 프레임을 개선할 수 있게 된다.


게임 엔진이 요구하는 다양한 작업 중에서 강력한 성능이 요구되는 그래픽 랜더링 작업은 외장 GPU에 그대로 두고 단순 컴퓨팅 작업이 요구되는 광원 처리나 포스트 프로세싱 작업을 내장 GPU에 할당하는 방식이다.



마이크로소프트는 다이렉트X12로 포팅된 언리얼 엔진4 엘레멘탈 데모에서 인텔 내장 GPU와 엔비디아 외장 GPU 조합으로 6초 가량 랜더링 시간을 앞당길 수 있었다고 발표했는데 실제 프레임 기준으로 비교하면 기존 방식으로 35.9 FPS를 기록했던 데모가 멀티어댑터를 통해 39.7 FPS까지 상승했다고 한다.


수십 프레임이 상승할 정도는 아니지만 묶혀만 뒀던 내장 GPU를 활용할 수 있다는 점에서 게이머들에겐 없어선 안될 기능이라 하겠다.


참고로, 멀티 어댑터 기술을 사용하기 위해서는 해당 게임이 이를 지원해 줘야 하며 언리얼 엔진4에서 이를 지원하는 것으로 알려져 있다. 언리얼 엔진4로 제작된 게엠이라면 멀티 어댑터 기술을 사용할 수 있을 전망이다.


 ■ 품질 향상 가져 올 특별한 기술들


k154363p1n7.jpg


다이렉트X12가 API 구조 변화와 자원 활용 개선에 초점을 맞춘 새로운 API 인 것은 맞지만 그렇다고 새로운 기능을 제공하지 않는 건 아니다. 지금까지 메이저 업데이트 마다 그래왔듯이 다이렉트X12에도 특정 하드웨어 로직을 요구하는 새로운 기능이 포함됐다.


그 중에서도 가장 상위 레벨에 해당되는 다이렉트X12.1 피처 레벨에서는 기존 GPU에선 제공되지 않는 타일드 리소스 티어3, 컨서베이티브 라스터(Conservative Raster), 라스트 오더 뷰(Raster Order Views)를 요구하는데 현재, 이를 지원하는 유일한 하드웨어는 엔비디아 2세대 맥스웰 아키텍처가 적용된 지포스 900 시리즈 뿐이다.


이 기술들을 이용하면 라스터라이제이션 단계에서 샘플 포인트에 걸치지 못해 놓쳤던 픽셀 부분까지 체크할 수 있어 기존까지 사용했던 가상의 소프트 쉐도우 대신 진짜 광원 위치에 따른 정확한 그림자 표현과 부드러운 엣지를 그대로 표현할 수 있을 뿐만 아니라 볼륨 타일드 리소스를 통해 현실적인 스모그 표현을 높은 프레임으로 구현할 수 있다.


게임에서 임의로 표현되던 많은 효과들이 실제 계산된 값에 의해 표현하는 레이 트레이스 방식으로 진화 되면서 더 나은 그래픽을 더 높은 프레임으로 즐길 날이 머지 않았는데 지금 당장은 아니지만 향후 가까운 미래에서는 실사 같은 게임을 위해 꼭 필요한 전역 조명까지도 다이렉트X12.1 피처 레벨에서 구현이 가능한 것으로 알려져 있다.



사실, 다이렉트X12.1 피처 레벨은 엔비디아 2세대 맥스웰 아키텍처를 위해 만들어 졌다 해도 무방한데 엔비디아가 차세대 게이밍 그래픽에 없어선 안될 기술로 소개한 전역 조명 기술, VXGI(VOXEL GLOBAL ILLUMINATION)를 위한 기능 대부분이 다이렉트X12.1 피처 레벨에 해당 되는 것들이다.


다이렉트X12.1 피처 레벨에 따른 그래픽 품질 차이는 엔비디아의 Mech Ti DX12 Techdemo를 보면 쉽게 이해할 수 있으니 참고 바란다.


 ■ 다이렉트X11 그래픽카드, 다이렉트X12 게임 못 즐기나?


아마 많은 이들이 가장 궁금해 하는 부분이 이 내용일 것이다. 다이렉트X12가 나왔으니 꼭 다이렉트X12를 지원하는 그래픽카드가 필요한가? 인데 꼭 그럴 필요는 없다.


다이렉트X12로의 가장 큰 변화는 API 자체적인 변화라서 CPU 멀티 코어 활용과 오버헤드 개선 등은 다이렉트X11 세대 그래픽카드에서도 혜택을 누릴 수 있다.


하드웨어적으로 요구되는 피처 레벨에 따라 구현되는 그래픽 효과나 품질에 차이가 있을 수 밖에 없지만 다이렉트X12로 제작된 게임을 전혀 실행할 수 없는 것은 아니다.


GPU 개발사가 다이렉트X12를 지원할 수 있도록 WDDM 2.0에 맞춰진 드라이버를 제공하면 다이렉트X11 그래픽카드에서도 최신 게임을 즐길 수 있는데 엔비디아와 AMD가 지원을 약속한 그래픽카드는 다음과 같다.


k154363p1n8.jpg

엔비디아는 페르미와 케플러 그리고 맥스웰 아키텍처의 모든 지포스 시리즈에서 다이렉트X12를 지원할 수 있는 드라이버를 내놓겠다 밝힌 바 있고 이미 해당 드라이버를 공개한 상태다. 다이렉트X11을 지원하는 지포스 400 시리즈 이상이라면 다이렉트X12 게임을 실행할 수 있다.

k154363p1n9.jpg

AMD는 GCN 1.0 이상의 아키텍처로 개발된 라데온 HD 7000 시리즈와 200 그리고 300, 퓨리에서 다이렉트X12와 WDDM 2.0 지원을 약속하고 있고 최신 드라이버를 공개했지만 다이렉트X11을 지원하는 HD 5000과 6000 시리즈는 다이렉트X12 지원이 불가능하다. HD 5000과 6000 시리즈는 다이렉트X12 이외의 모든 윈도우10 기능만 정상적으로 구현이 가능하며 이전 세대들은 정상적인 화면 출력도 불가능하다.


이전 세대의 지원 범위만 보면 HD 5000과 6000 시리즈를 지원하지 않는 AMD 쪽 대응이 다소 부족해 보이지만 최근 세대의 다이렉트X12 대응을 보면 이야기는 달라진다.


AMD는 GCN 1.1 이후 세대 부터 다이렉트X12 피처 레벨을 지원할 수 있도록 만들어졌다. 엔비디아는 지포스 900 시리즈에서만 다이렉트X12 이상의 하드웨어 피처 레벨이 지원되지만 AMD는 GCN 1.1에 해당되는 라데온 HD 7790과 Rx 200 시리즈 이후라면 모두 다이렉트X12 피처 레벨을 만족한다.


피처 레벨 차이는 그래픽 품질 차이를 결정짓는 중요한 잣대라서 다이렉트X12의 실질적인 혜택은  AMD 라데온 사용자들이 더 많이 누릴 수 있을 것으로 판단된다.


 ■ AMD와 엔비디아, 누가 더 유리할까?


k154363p1n10.jpg


현재 GPU 그대로, 다이렉트X12 세상이 본격화 된다는 가정 하에 가장 유리한 위치에 올라설 수 있는 쪽은 AMD다.


기존 사용자 층만 고려한다 해도 AMD 쪽이 더 많은 다이렉트X12 하드웨어 사용자 층을 보유하고 있을 뿐만 아니라 더 나은 조건(각 피처별 티어 레벨)을 만족하기 때문이다.


최신 제품들간의 비교에서도 AMD 제품들은 비동기식 컴퓨팅에 훨씬 유리한 구조(8개의 비동기 컴퓨트 엔진 + 엔진 별 8개의 큐 처리)라서 다이렉트X12 기반 게임에서 더 나은 성능을 보여줄 수 있다.


하지만, 다이렉트X12.1로 구현 가능한 새로운 그래픽 기법들을 게임 개발사가 서둘러 도입하게 된다면 AMD에겐 치명타가 될 가능성이 높다. DirectX 12.1에서 요구하는 기능들을 소프트웨어적으로 에뮬레이션 할 수 있어도 하드웨어 방식 만큼 높은 프레임은 구현할 수 없는 한계가 있기 때문이다.


그 동안 게임 개발사 지원에 탁월한 능력을 발휘했던 엔비디아 였으니 이번에도 기회를 놓치지 않을 것이 분명하다. 따라서, 비동기식 컴퓨팅과 DirectX 12.1이 얼마나 많은 게임에 적용되느냐에 따라 두 업체의 희비는 달라질 것으로 판단되며 이러한 차이는 다이렉트X12 게임이 본격화 될 내년 중순 이후가 되야 해소될 수 있을 전망이다.


k154363p1n11.jpg


엔비디아와 AMD 모두는 1x nm 공정을 통해 전력 효율과 랜더링 성능을 크게 향상시킨 차세대 GPU를 준비하고 있다. 양쪽 모두 2016년 하반기 출시를 목표로 하고 있는데 이쯤 되면 다이렉트X12에 최적화 된 게임을 완벽히 소화할 수 있을테니 진정한 승부를 바란다면 다음 세대를 기대해 보는 것이 좋을 듯 하다.


이우용 기자 / [email protected]

출처 http://www.kbench.com/?q=node/154363
꼬릿말 보기
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호