검토 중인 GDC 2024: 경로 추적, 업스케일링 및 CPU를 죽이는 기술

컨퍼런스 센터 외부에 GDC가 표시된 배너.
Jacob Roach / 디지털 트렌드

이번 주에는 ReSpec이 조금 다릅니다. 나는 햇볕이 잘 드는 샌프란시스코의 GDC(Game Developers Conference)에서 일주일을 보냈습니다. 회의에서 회의로 달려가며 몇 마디 쓸 시간을 찾으려고 노력했습니다.

일반 칼럼 대신 이번 주 GDC에서 본 내용을 다루는 새로 출시된 ReSpec 뉴스레터 항목의 샘플을 게시하기로 결정했습니다. 동일한 뉴스레터를 매주 받은 편지함으로 전달받고 싶다면 지금 가입 하고 독점 콘텐츠를 받아보세요.

경로 추적은 거짓말이다

어두운 환경을 보여주는 Alan Wake 2의 스크린샷.
Jacob Roach / 디지털 트렌드

아마도 "거짓말"은 사용하기에는 너무 강한 단어일 수 있지만 경로 추적은 게임에서 구현하는 데 있어서 꽤 까다롭습니다. 저는 GDC에서 Cyberpunk 2077Alan Wake 2 의 경로 추적 세션에 참석했습니다. 두 세션 모두 재생 가능한 프레임 속도로 실시간 실행되는 게임에서 경로 추적을 활용하기 위한 공통 스레드를 설명했습니다. 그리고 이를 ReSTIR Direct Illumination이라고 합니다.

먼저, 경로 추적이 작동하는 방식: 픽셀을 가져와서 카메라에서 멀어지는 방향으로 선을 추적합니다. 무언가에 부딪혀 튕겨 나옵니다. 그리고 그것은 에테르 속으로 들어가거나 광원에서 끝날 때까지 계속해서 장면 주위를 튕겨 나갑니다. 개발자는 특히 그림자를 계산할 때 광원에서 끝나는 경로를 원합니다.

모든 종류의 실시간 상황에서 문제는 이 프로세스가 극도로 비용이 많이 든다는 것입니다. 그 중 극히 일부만 사용될 것이라는 사실에도 불구하고 모든 광선과 모든 바운스를 계산하려면 엄청난 양의 리소스가 필요합니다. 이것이 바로 경로 추적이 오랫동안 오프라인 기술이었던 이유입니다. 가능한 경로를 계산하고 평균을 내야 합니다.

Alan Wake 2Cyberpunk 2077 의 경우는 그렇지 않습니다. 직접 조명의 경우 ReSTIR은 장면의 광원에 가중치를 부여하고 그 중에서 선택한 항목만 샘플링하는 방식으로 작동합니다. 그런 다음 이러한 샘플은 시간적으로(프레임 전체에서) 공유되고 공간적으로(가까운 픽셀과 함께) 공유됩니다. Alan Wake 2 와 같은 게임의 경우 기차역에서 볼 수 있는 파란색 및 빨간색 "영화" 조명과 같은 특정 조명의 가중치가 더 무겁습니다.

그 결과 훨씬 더 빠르게, 적어도 적절한 업스케일링과 프레임 생성을 통해 합리적인 프레임 속도로 게임을 플레이할 수 있을 만큼 충분히 빠른 이미지가 생성됩니다.

이는 흥미로운 소식이며, Alan Wake 2Cyberpunk 2077 의 타이탄 개발자들이 작업을 공유하면서 더욱 일반화되기를 바랍니다.

마이크로소프트는 업스케일링에 발을 들이고 있다.

GDC 세션 무대에 선 Microsoft 발표자
Jacob Roach / 디지털 트렌드

GDC에서 Microsoft는 마침내 DirectSR에 대해 더 많이 이야기했으며 심지어 AMD와 Nvidia의 개발자를 같은 패널에 앉히기 위해 논쟁을 벌이기도 했습니다. 함께라도! DirectSR은 원래 생각했던 것처럼 업스케일링 전쟁을 끝내는 방법은 아니지만 개발자가 게임에 여러 업스케일링 기능을 추가할 수 있는 통합 프레임워크를 제공합니다.

그것의 큰 부분은 입력입니다. DirectSR과 인터페이스할 때 개발자가 API(응용 프로그래밍 인터페이스)에 부여하는 표준화된 입력 집합이 있습니다. 그런 다음 이러한 입력을 AMD의 FSR 2와 같은 내장된 업스케일러 또는 Nvidia의 DLSS 와 같은 특정 하드웨어가 필요한 변형에 전달할 수 있습니다.

이는 AMD가 공을 사용하지 않기로 결정하기 전에 비슷한 것을 달성하기 위해 구축된 Nvidia의 자체 Streamline 프레임워크와 다르지 않습니다. 이 싸움에서 중립적인 제3자인 마이크로소프트가 모두를 하나로 모을 수 있었던 것 같습니다.

실제로 게임에서 어떻게 보일지는 아직 잘 모르겠습니다. DirectSR은 아직 개발자에게도 제공되지 않습니다. 최종 사용자에게는 아무 것도 변경되지 않을 수 있으며 그래픽 메뉴에는 여전히 여러 가지 업스케일링 옵션이 표시됩니다. 아마도 Microsoft는 귀하가 보유한 하드웨어에 따라 범용 업스케일링 옵션을 포함하도록 Windows를 업데이트할 것입니다. 확실하지는 않지만 DirectSR을 사용하면 개발자가 DLSS, FSR 및 Intel의 XeSS 전반에 걸쳐 게임의 모든 업스케일링을 더 쉽게 구현할 수 있습니다.

원래 실현되지 않은 한 가지 장점은 이 시스템이 업데이트와 함께 작동하는 방식이었습니다. Nvidia, AMD 및 Intel은 이미지 품질을 약간 개선하거나 업스케일링 작동 방식을 약간 조정하는 업스케일링 기술의 새로운 버전을 지속적으로 출시합니다. DirectSR을 사용하면 개발자는 이러한 업데이트를 모두 게임에 추가할 필요가 없으며 API 전체에서 작동합니다.

이것은 모두 나에게 엄지 손가락입니다. 업스케일링은 특히 출시 시 하나의 업스케일러만 지원하는 StarfieldResident Evil 4 와 같은 대규모 릴리스의 경우 주요 논쟁거리였습니다. 유일한 단점은 프레임 생성입니다. 현재 DirectSR 카드에는 없는 것 같으므로 앞으로도 주요 그래픽 브랜드에서 계속해서 많은 논의가 있을 것입니다.

CPU에 죽음이 있습니까? 정확히

Intel의 14900K CPU가 마더보드에 장착되어 있습니다.
Jacob Roach / 디지털 트렌드

올해 GDC에서 가장 흥미로운 발표 중 하나는 작업 그래프였습니다 . 지난 주 뉴스레터에서 이에 대해 이야기했지만 Microsoft의 DirectX State of the Union에서 작업 그래프를 자세히 살펴보았습니다. 그 뒤에 있는 아이디어는 GPU가 자체 작업을 지시하도록 하여 CPU의 부담을 줄이는 것입니다.

대화에 좀 더 미묘한 차이가 있습니다. 이는 프로그래밍 가능한 셰이더가 그래픽 카드 에 처음 도입되었을 때와 유사하게 무엇을 할지 결정하기 위해 GPU에 더 많은 권한을 부여합니다. 작업 그래프는 노드로 구성되며, 해당 노드는 CPU의 작업을 기다리지 않고 GPU가 작업할 추가 노드를 생성할 수 있습니다. Microsoft는 이를 다른 컴퓨팅 셰이더를 시작할 수 있는 컴퓨팅 셰이더라고 설명했습니다.

분명한 이점과 한 PC 게이머가 빠르게 이해한 것은 GPU 활용이었습니다. 마이크로소프트는 현재 시스템에는 GPU와 CPU 사이에 글로벌 싱크 포인트가 필요하다고 설명했다. 이는 고도로 병렬화된 장치인 GPU가 동기화가 발생하기를 기다리는 동안 짧은 시간 동안 작동하지 않음을 의미하는 경우가 많습니다.

그것이 기억에 어떤 영향을 미칠지는 예상하지 못했습니다. DirectX 12의 현재 프로그래밍에서는 여러 버퍼를 보유해야 하는 ExecuteIndirect 명령을 사용한다고 Microsoft는 설명했습니다. 작업 그래프를 사용하면 GPU가 자체 작업을 시작하고 자체 작업을 계속 생성할 수 있으므로 이러한 버퍼를 보유할 필요가 없습니다.

AMD의 Robert Martin은 3.3GB의 메모리가 필요한 장면에서 이것이 얼마나 큰 거래인지 보여주었습니다. Work Graphs를 사용하면 메모리 사용량이 113MB에 불과했고 성능이 약간 향상되었습니다. 프레젠테이션에서 설명했듯이 "메모리 공간은 워크로드 크기가 아니라 GPU 크기에 따라 확장됩니다."

작업 그래프는 최종 사용자에게 보이지 않지만 실제로는 그래픽 프로그래밍의 차세대 개척지이며 AMD, Nvidia 및 Microsoft가 모두 말했듯이 개발자가 수년 동안 노력해 온 것입니다. 메모리 사용량이 적고 성능이 더 좋아진 것 같습니다. Work Graph가 실제 게임 전반에 걸쳐 큰 인기를 끌 때까지 기다려야 합니다.


게시됨

카테고리

작성자

태그: