GDC 2019에서 예고했던대로, NVIDIA는 파스칼 이후 아키텍처를 사용하는 지포스 GTX 10 시리즈와 지포스 GTX 16 시리즈에서 다이렉트 X 레이 트레이싱을 지원하는 지포스 425.31 드라이브를 출시했습니다.
파스칼 아키텍처의 타이탄 XP, 타이탄 X, 지포스 GTX 1080 Ti, GTX 1080, GTX 1070 Ti, GTX 1070, GTX 1060 6GB, 튜링 아키텍처의 지포스 GTX 1660 Ti, GTX 1660, 볼타 아키텍처의 타이탄 V, 튜링 RTX 시리즈에서 실시간 레이 트레이싱을 쓸 수 있게 됐습니다.
튜링 세대의 지포스 RTX 20 시리즈는 레이 트레이싱의 레이 생성, 투영, 충돌 판정 등 레이 트레이싱 관련 연산을 처리하는 전용 유닛인 RT 코어를 탑재해 실시간 레이 트레이싱을 지원합니다. 하지만 파스칼 세대의 지포스 GTX 10 시리즈와 튜링 세대의 지포스 GTX 16은 RT 코어가 없습니다. 그럼 RT 코어가 없는데 레이 트레이싱의 품질과 렌더링 성능을 모두 잡을 수 있을까요?
레이 트레이싱을 게임 그래픽에 적용하는 방법은 게임 타이틀마다 다릅니다. 레이 트레이싱에서 쓰는 현실적인 표현은 반사 이미지 (Reflections), 그림자 표현(Shadows) 환경 광량 차폐(Ambient Occlusion), 전체 조명(Global Illumination)이 있습니다. 이 표현 방법에 따라서 처리 부하가 달라지지요.
그리고 레이 트레이싱을 지원한다 해도 이 4가지 방법을 모두 쓰는 게임은 없습니다. 기껏해야 하나나 두가지 정도만 쓸 뿐이죠.
게임 스튜디오는 여러 방법을 사용해 레이 트레이싱의 처리 속도를 늘립니다. 우선 배틀필드 V인데, 반사 표현에 레이 트레이싱을 씁니다. 물체 표면의 재질(Surface Type)에 따라 반사 이미지가 필요한지를 선별하고(Bounding Volume Hierarchy Search. BVH Search), 투사되는 레이의 수를 줄여 계산량을 낮춥니다. 거친 표면은 반사가 거의 되지 않기에 그 부분은 아예 빼버리고, 수면이나 유리는 레이 트레이싱을 실행합니다.
배틀필드 V에서 레이가 투영되는 영역을 표면 재질에 따라 선별한 이미지입니다. 빨간색엔 많은 레이를 할당해 사실적으로 표현하고, 녹색은 줄여서 계산량을 낮춥니다. 그리고 레이 트레이싱의 품질 설정을 조절해 레이를 줄이거나 반사 이미지의 해상도를 낮춰 성능에 미치는 영향을 줄였습니다.
이렇게 최적화를 했지만 지포스 RTX 20 시리즈와 지포스 GTX 10, GTX 16 시리즈의 성능 차이는 꽤 큽니다. 위 그래프는 2560x1440 해상도에 울트라 DXR 설정인데요. GTX 1080이라면 1920x1080 해상도에서 플레이 가능한 수준까지는 나온다고 합니다.
지포스 GTX 1660 시리즈는 레이 트레이싱을 썼을 때 성능이 지포스 GTX 1080과 비슷한 수준이 나왔는데요. 이는 튜링 아키텍처에서 정수 연산과 부동 소수점 연산을 병렬 실행할 수 있게 되면서 레이 트레이싱에도 영향을 미쳤기 때문이라고 합니다. 레이 트레이싱은 부동 소수점 연산의 부하가 높기에 정수 연산과 병렬 처리하면 성능 향상에 큰 도움이 됩니다.
그림자 표현에 레이 트레이싱을 적극 활용한 쉐도우 오브 더 툼 레이더입니다. 여기에선 광원에서 레이를 날려 그림자를 그리는 쉐도우 레이 기법을 사용했습니다. 이 게임은 레이 트레이싱의 추적 품질을 최소한으로 줄이면 하나의 광원만 쓰고, 품질 설정을 높이면 여러 광원을 쓰기에 그림자의 수준이 크게 달라집니다.
쉐도우 오브 툼 레이더도 DXR 사용 시 지포스 RTX 20 시리즈와 지포스 GTX 10, GTX 16 시리즈의 성능 차이는 크지만, 지포스 GTX 1080 급이라면 풀 HD 해상도에서 게임 플레이할 수준은 나옵니다.
앞의 두 타이틀은 해상도 조절 시 기존 그래픽카드에서도 플레이할 수 있으나, 처리 부하가 더 높아지면 어려워집니다. 그 예가 먼드피쉬가 개발 중인 액션 RPG인 아토믹 하트입니다. 아토믹 하트에선 바운스를 사용해 반사 이미지를 그립니다. 반사 표면에 비친 다른 반사 이미지까지 그리기에 계산 부하가 상당히 높습니다.
이것도 2560x1440 해상도로 실행했을 때의 성능인데 지포스 GTX 10 시리즈와 RTX 20 시리즈의 차이는 큽니다. 아토믹 하트는 현재 개발중이니 게임이 출시되면 성능이 달라질 가능성이 있으나, 다이렉트 X 레이트레이싱은 지포스 RTX 20 시리즈에서만 가능할 듯.
3D마크 포트 로얄과 중국 Netease의 MMORPG인 저스티스에서의 결과입니다. 모두 바운스 반사를 그림자 렌더링에 사용하는데 성능이 낮습니다. 포트 로얄은 지포스 GTX 1080 Ti에서 10fps가 채 나오지 않습니다.
프로젝트 스포트라이트를 쓴 프레임 속도 비교. 바운스를 쓴 바운스 반사와 앰비언트 오큘루션을 쓴 환경 광량 차폐 표현은 BHV 서치가 특정 구역으로 한정되나, 사용하는 레이의 수가 늘어나기에 지포스 RTX 20이 아니면 어렵습니다.
메트로 엑소더스는 글로벌 일루미네이션에서 BHV 서치를 포괄 수행하기에 사용하는 레이의 숫자도 많습니다.
메트로 엑소더스에서의 프레임 속도. 지포스 RTX 20 시리즈에서도 차이가 큽니다.
결론은 무거운 레이 트레이싱 처리를 위해서는 지포스 RTX 20 시리즈가 필요하다. 지포스 GTX는 일부 타이틀의 풀 HD 해상도에서만 사용 가능하다고 봐야 되겠네요.