[개발자 노트] Leviathans 업데이트를 통한 그래픽 개선점

Leviathans 메이저 업데이트와 함께 최신 그래픽 관련 기술들이 적용되었습니다. 지난 업데이트에 추가된 레이 트레이싱 또한 더욱 개선되었으며, 이번 글을 통해 함께 살펴보고자 합니다!

처음으로, 성능에 관한 내용입니다.

저희는 CPU 와 GPU 의 사용량을 최소화하면서 성능 향상을 이끌어내기 위해 항상 노력하고 있습니다.

GPU 의 경우, 나뭇잎 관련 렌더링과 같은 레이 트레이싱이 가장 ‘어려움을 겪는’ 상황에서 성능을 개선할 수 있는 몇 가지 아이디어를 생각해냈습니다. 나무나 숲에 적용되는 레이 트레이싱은 GPU 가 처리하는 데 많은 시간을 필요로 합니다. 저희는 빛이 나뭇잎이나 나뭇가지에 체크되는 방식을 바꿈으로써 성능 저하의 폭을 크게 낮출 수 있게 되었습니다. 따라서 지상 장비를 몰고 숲을 지나가거나, 숲 주변에서 비행할 때 더욱 부드러워진 사실을 느끼실 것입니다.

그리고 Microsoft 사에서 DirectX 에 Opacity Micro Maps(OMM)이라는 기술을 적용할 것이라고 발표했기 때문에 조금 더 나은 성능을 기대할 수 있을 것입니다. 이는 나뭇잎 관련 트레이싱의 또 다른 큰 도약이 될 것입니다. 또한 Microsoft 사에서는 DirectX에 셰이더 실행 재정렬 기능을 도입하여 전반적인 성능 향상에 도움을 줄 것으로 발표했습니다. 이 기능은 현재 DirectX에서 미리 보기 버전으로 제공되고 있으며, 저희 또한 성능 향상을 목표로 활용하기 위해 노력하고 있습니다.

레이 트레이싱은 GPU 뿐만 아니라 CPU 에도 부담을 주는 작업이므로, 저희는 게임 내 세계의 레이 트레이싱을 지속적으로 개선시키고 있습니다. CPU 의 측면에서 봤을 때 성능을 저하시키는 다양한 병목 현상들을 발견하였습니다. 레이 트레이싱의 경우 최대 8개의 CPU 코어를 사용해 처리되므로, 저희는 해당 코어들이 더 나은 싱크와 처리 속도를 목표로 작업을 진행했습니다. 이는 다양한 요소 (CPU, RAM 속도 등) 에 의존하지만, 대부분의 시스템에서 성능이 향상되었을 것입니다.

다음은, 이미지의 품질입니다.

게임 내 비주얼을 개선하는 것 또한 아주 중요한 것 중 하나입니다. 현재 레이 트레이싱에 의;해 그림자와 반사, 그리고 앰비언트 오클루전을 개선한 만큼, 이번에는 전역 조명 (글로벌 일루미네이션) 이 개선되었습니다.

또한, 새로운 전역 조명을 대체할 수 있는 “패스 트레이싱된 전역 조명 (PTGI)“ 이 새로이 추가되었습니다. 2018년 (시간 참 빠르지 않나요?) 에는 게임을 한층 업그레이드해준 전역 조명 (GI) 이 추가되었는데, 기술이 발전하면서 이번에도 새로운 도약을 할 수 있게 되었습니다.

PTGI 는 화면 내에서 반사되는 빛을 시뮬레이션하며, 간접 조명을 계산 (예: 그림자, 실내, 계곡 등) 합니다. 기존 전역 조명 또한 이 작업을 훌륭하게 수행하지만 단순한 표현과 정확성 또한 떨어지며, 범위 또한 제한적이라는 명확한 한계가 있습니다.

우선, 기존 전역 조명에서는 두 번째 사진의 좌측 바닥처럼 빛이 ‘새는’ 현상이 있습니다.

PTGI 를 통해 빛이 새는 것을 제거하고 더 균일한 조명을 제공합니다. 여기서 확인하실 수 있듯, PTGI 는 더 많은 빛을 수용할 수 있다는 장점을 지니고 있습니다.

PTGI off:


PTGI on:

제한된 범위는 전차전에서 구름이 많은 날씨나 넓은 실내 등에서 아주 명확하게 드러납니다. 버스 정류장 중간의 선을 기준으로 두 방식이 나뉩니다.

PTGI 적용 시 이 제한이 사라지며 모든 곳에 일관된 전역 조명이 제공됩니다.

PTGI off:

PTGI on:

또한, 기존의 전역 조명은 비교적 간소화된 방식이기 때문에, 하늘이 빛을 비추는 것 처럼 작동하는 일이 있었습니다. 그 결과, 간접 조명에 원래보다 파란 빛이 도는 문제가 있었습니다.

PTGI 는 해당 장면 내에서 작동하며, 더 많은 빛의 반사를 시뮬레이션하는 만큼, 더 자연스러운 모습을 연출할 수 있습니다.

PTGI off:

PTGI on:

이 점은 개활지에서도 동일하게 적용됩니다. 기존의 GI 에서는 타일과 포장된 도로에 부자연스러운 파란 빛이 도는 문제가 있었습니다.

PTGI 의 경우, 더 정확하고 더 균일한 모습을 연출합니다.

PTGI off:

PTGI on:

마지막으로, FPS 관련 내용입니다.

Leviathans 업데이트를 통해 (지원하는 GPU 에 한해) Frame Generation (프레임 생성, FG) 기능을 사용할 수 있게 되었습니다.

  • 우선, NVIDIA GeForce RTX 40 이상의 GPU 를 사용하면서 DLSS 를 적용했을 경우에 사용 가능한 NVIDIA DLSS Frame Generation
  • AMD Radeon RX 5000, NVIDIA GeForce RTX 20, Intel Arc 이상의 GPU 를 사용하면서 FSR 을 사용할 경우의 AMD FSR Frame Generation
  • Intel Arc GPU 를 사용하면서 XeSS 를 사용할 경우의 Intel XeSS Frame Generation

프레임 생성 방식이나 하드웨어에 따라 렌더링된 프레임에서 1~3개의 프레임을 추가시킴으로써 FPS 를 크게 늘릴 수 있습니다. FPS 의 증가폭은 시스템 구성에 따라 달라지나, 각 프레임 사이에 프레임이 생성되더라도 FPS 를 2배로 늘리는 경우는 매우 드물다는 점에 유의하시기 바랍니다.

이 기능은 높은 주사율, 예를 들면 120Hz 의 주사율을 가지는 모니터를 사용하면서, 게임 성능 또한 주사율에 근접 (100 FPS 의 성능이 나온다고 가정하겠습니다) 할 경우, 디스플레이의 최고 주사율에 더 쉽게 도달할 수 있게 해 줄 것입니다.

NVIDIA DLSS Frame Generation 은 NVIDIA REFLEX 를 사용하여 지연 시간을 낮추는 방식입니다. 다른 제조사의 경우 Intel XeLL, AMD Radeon Anti Lag 2 가 추가되어 있습니다. 두 기능은 REFLEX 와 유사하나, 하드웨어의 제조사별로 다른 기술이 적용됩니다. 예를 들면 AMD GPU를 사용하고 있을 경우, Anti Lag 2 가 적용됩니다.

FG 및 지연시간 저감 기능은 레이 트레이싱과는 별개의 기능이므로, 레이 트레이싱 없이도 사용 가능하지만, 대부분 DirectX 12 환경에서만 작동합니다.

최종 성능을 살펴보자면, 시스템 내 다양한 요소에 따라 달라지나, 성능이 향상된 것을 확인하실 수 있을 것입니다. 레이 트레이싱의 성능에 관한 것은, 게임의 그래픽 옵션을 “영화” 로 설정하고, 중간 레이 트레이싱 프리셋 (PTGI 를 포함한 모든 레이 트레이싱 관련 효과 적용), XeSS 안티앨리어싱, MSI Claw 8 에 적용된 (균형잡힌 업스케일링이 포함된 안티앨리어싱, anti-aliasing with Balanced upscaling) 을 활성화하여 확인하실 수 있습니다.

보시는 바와 같이, 핸드헬드 PC 에서도 70-90 FPS 의 성능을 낼 수 있습니다

또한, 콘솔 환경에서 적용되는 레이 트레이싱의 경우, 현재 마무리 작업 중에 있습니다.