상세 컨텐츠

본문 제목

정보 - 차세대 DX12U 그래픽 기술이라는 VRS 옵션 프레임 최적화 효과

게임 정보

by 뱀선생게임 2020. 6. 18. 08:10

본문

반응형

정보 - 차세대 DX12U 그래픽 기술이라는 VRS 옵션 프레임 최적화 효과

 

올해 말에 엑박 시리즈 엑스로 출시 예정인 기어즈 택틱스는 언리얼 엔진을 사용하면서 VRS가 적용된 첫 사례로 볼 수 있는데요.

마소 기술 블로그에서 VRS 티어 1만을 이용해서 기어즈 택틱스의 퍼포먼스 향상을 어떻게 이루어냈는지 자세한 적용 사례 내용 및 설명글.

 

 

참고로 VRS 가변 레이트 쉐이딩 Variable Rate Shading 차세대 그래픽 옵션 기술이란 

눈에 보이는 그래픽을 더 좋게 만드는 레이트레이싱과 달리 그래픽 최적화에 관련된 기술임.

쉐이딩 비율을 가변으로 설정가능하기 때문에, 눈에 잘보이는 부분만 자세하게 그리고, 불필요한 부분은 쉐이딩 수준을 낮춰 필요한 시스템 요구 사양을 낮ㅊ고 프레임 성능을 높이는 기술입니다.

한마디로 사람 눈에 안띠는 초점에서 벗어난 외곽, 멀리있는 부분들은 널직널직하게 대충 쉐이딩처리해서 GPU부하를 크게 낮춰 프레임을 올리는 기술로 PC 및 차세대 콘솔 게임에 필수로 들어간다고 함.

(다이렉트X12U얼티밋에 포함 확정)

 

당연히 마소 다렉12U 기술에 들어가 있으니 온갖 엑스박스 퍼스트파티 독점작 게임에 최적화를 위해 다 들어갈걸로 예상.

youtu.be/A9lqMQ2_mgE

기어스5 델 선택 루트 스토리 및 엔딩까지 마커스 멘붕 ㅠㅠ

 

- PC 사양에 따른 진입 장벽을 낮추기 위해 VRS구현을 최대한 많은 하드웨어에서 지원될 수 있도록 구현

- 따라서 VRS 티어 1만 지원하기로 함. (역주. 티어 2는 DX12U 이상에서만 지원하므로 현재는 NVIDIA 튜링 아키텍쳐만 지원함)

- 티어 1은 렌더링 패스 단위로만 VRS 적용이 가능 (기어즈 택틱스는 언리얼4 엔진 사용)
  따라서 어느 렌더링 패스에 VRS를 적용할지 판별하는 작업이 필요했음
   
- 테스트를 위해서 모든 렌더링 패스에 VRS를 적용하고 PIX를 이용해서 성능 향상이 기대되는 영역을 추려냄

- 추려낸 영역에 VRS를 적용했을 때 아티팩트(깨짐현상)이 얼마나 발생하는지 체크해보았음

- 아래의 3 렌더링 패스에서는 VRS로 성능 향상은 있으나 아티팩트가 심해서 사용하지 않기로 함
  * 반투명
  * 디퍼드 라이팅
  * 컴포지션 애프터 라이팅

(컴포지션 애프터 라이팅에 VRS로 저품질을 적용했을때의 예)

- 동적 오브젝트는 동적 그림자가 적용되는 주요 오브젝트로서 VRS를 적용하면 중요한 디테일 표현을 잃고 화면에서 많이 이상해보임

- 투명도 마스크 오브젝트 역시 VRS를 적용했을 때 받아들이기 힘들 정도로 디테일을 잃음.

- 따라서 이 두가지 오브젝트들은 VRS적용에서 제외 됨

(마스킹 오브젝트에 VRS를 적용했을 때 심각하게 디테일을 잃어버린 예)

- 이제 남은 렌더링 패스에는 VRS가 잘 적용할 수 있음. 하지만 나머지 렌더링 패스 전체에 걸쳐서 가장 낮은 쉐이딩 품질을 사용했을 때 전체적으로 눈에 띄는 퀄리티 저하가 발생

- 따라서 렌더링 패스가 그려지는 방법에 맞춰서 동적으로 적용가능한 기술을 3가지 개발함

1. 오브젝트 사이징
  - 월드 좌표 상에서 일정 크기 이하로 그려지는 오브젝트는 쉐이딩 레이트를 메쉬 크기에 맞게 조정함

2. 뎁스 오브 필드 마스킹
  - DOF는 대부분 GPU에서 기본 설정으로 켜져 있지 않지만 컷신에서는 사용됨
  - 블러처리된 메쉬를 판별하고 그 메쉬에 낮은 쉐이딩 레이트를 적용함

(DOF에 의해서 저품질 픽셀 사이즈로 렌더링 된 메쉬를 빨간색으로 표시함)

 

3. 포그 오브 워 마스킹
  - 포그 오브 워로 더 많이 가려지는 오브젝트에 더 낮은 쉐이딩 레이트를 적용

(포그 오브 워가 강하게 적용될 수록 VRS도 더 강도높게 적용함)

 

 - VRS가 적용 가능한 렌더링 패스를 추려내고 테스트 하면서 VRS를 더 적극적으로 사용하면 30% 정도 더 추가로 성능향상을 가져올 수 있었음. 하지만 화질 저하도 더 심해짐

 - 여러 배경 테마에서 각 단계별 렌더링 패스에 대해서 수동으로 조정해보면서 2가지 클래스로 적용 범위를 나눔

   - "ON" 설정에서는 일부 렌더링 패스에서 VRS를 추가적으로 끄고 품질에 영향을 덜 미치게 함

   - "PERFOMANCE" 설정에서는 약간의 품질을 희생해서 더 큰 성능 향상을 가져옴

성능 테스트
OS : Windows 10 Pro 64-bit (10.0, Build 18362) (18362.19h1_release.190318-1202)
CPU: Intel(R) Core(TM) i9-9900X CPU @ 3.50GHz (20 CPUs), ~3.5GHz
메모리: 98304MB RAM
그래픽카드: NVIDIA GeForce RTX 2080 SUPER

모든 테스트는 4k 울트라 세팅에서 테스트됨

VRS 설정 프레임타임(ms)  GPU 향상(ms) GPU 향상 (%)
VRS Off 23.3ms
VRS On 20.9ms 2.4 10.3
VRS Performance 18.9ms 4.4 18.9

 VRS On 설정에서 10.3% VRS Perfomance 설정에서 18.9%의 성능 향상을 보임.

 


결론
 - 우리는 VRS 티어 1을 기술적으로 사용해서 폭넓은 하드웨어를 지원하면서도 화질에 최소한의 영향을 끼친채 퍼포먼스를 향상시키는 방법을 찾아냄

  

출처 : devblogs.microsoft.com/directx/gears-tactics-vrs/

bbs.ruliweb.com/news/board/1001/read/2216055

반응형

관련글 더보기

댓글 영역