NVIDIA Aftermath

NVIDIA GeForce 기반 GPU 에서 GPU 크래시 포스트모템 분석을 가능하도록 해주는 NVIDIA Aftermath 기술이 통합되었습니다.

Choose your operating system:

Windows

macOS

Linux

Aftermath_Banner.png

NVIDIA 드라이버 382.53 이상 버전으로 업그레이드할 것을 추천합니다. 사용 속도가 훨씬 빨라지는 개선사항이 몇 가지 포함되어 있습니다.

언리얼 엔진 4.15.2 버전부터 NVIDIA 의 Aftermath C++ 라이브러리가 Windows 기반 개발자들에게 지원되기 시작하여, 크래시가 난 후 GeForce 기반 GPU 에서 데이터를 추가로 제공받을 수 있습니다. 이 데이터에는 크래시가 발생한 시점에서 GPU 가 어떤 작업을 하고 있었는지에 대한 중요 정보가 들어있어, 프로젝트가 GPU 에서 어떤 작업을 하고 있었는지 추적할 수 있습니다.

Aftermath 는 일부 디버깅 툴처럼 퍼포먼스를 많이 소모하지는 않으면서 요란스럽지 않은 경량 툴입니다. 사실 너무 초경량이라 완성된 게임에 포함시켜 소비자 머신에서 필요한 데이터를 제공하도록 할 수도 있을 정도입니다. Aftermath 를 통해 프로그래머는 크래시 근본 원인 추적에 도움이 되는 마커를 코드에 삽입할 수 있습니다. 언리얼 엔진 에디터에도 보고 또는 캡처된 이슈의 추적 및 해결을 위해 이와 같은 기법을 사용하고 있습니다.

프로젝트에 Aftermath 를 사용하는 데 관련된 부가 정보는 NVIDIA's Aftermath documentation 페이지를 참고해 주시기 바랍니다.

NVIDIA Aftermath 활성화

언리얼 엔진 버전 4.15.2 를 사용중인 경우, NVIDIA Aftermath 는 자동 활성화됩니다. ConsoleVariables.ini 환경설정 파일에 다음 콘솔 명령을 설정해 줘도 됩니다:

r.DX11NVAfterMathEnabled

언리얼 엔진 4.16 이상을 사용중인 경우, NVIDIA Aftermath 는 자동 비활성화됩니다. ConsoleVariables.ini 환경설정 파일에 다음 콘솔 명령을 설정해 주면 됩니다:

r.GPUCrashDebugging=1

명령줄에 다음과 같은 인수를 붙여 활성화시킬 수도 있습니다:

-gpucrashdebugging

로그

NVIDIA Aftermath 활성화 이후, 로그에 다음과 같은 출력이 뜨는 것이 보일 것입니다:

LogD3D11RHI: [Aftermath] Aftermath enabled and primed

언리얼 엔진 4 에서 메뉴 중 파일 > > 개발자 툴 > 출력 로그 를 선택하거나, 프로젝트 폴더에서 로그 텍스트 파일을 여는 것으로 로그를 열 수 있습니다.

크래시가 발생하면, 로그에 다음과 같은 부분이 표시될 것입니다:

LogD3D11RHI: Error: Result failed at X:[Project Folder]\Engine\Source\Runtime\Windows\D3D11RHI\Private\D3D11Viewport.cpp:290 with error DXGI_ERROR_DEVICE_REMOVED DXGI_ERROR_DEVICE_HUNG
LogRHI: Error: [Aftermath] Status: Timeout
LogRHI: Error: [Aftermath] GPU Stack Dump
LogRHI: Error: [Aftermath] 0: Frame2769
LogRHI: Error: [Aftermath] 1: FRAME
LogRHI: Error: [Aftermath] 2: Scene
LogRHI: Error: [Aftermath] 3: ComputeLightGrid
LogRHI: Error: [Aftermath] 4: Compact
LogRHI: Error: [Aftermath] GPU Stack Dump

이 예제에서 보면, GPU 크래시가 난 부분 앞에 [Aftermath] 가 붙어 상태는 어떻고 문제가 생긴 프레임은 어디인지 알 수 있어, 근본 원인을 조사할 수 있습니다.

고려사항

마커가 대략 200 에서 300 정도인 평균 프로젝트의 경우, Aftermath 속도는 충분히 빠르지만, 오브젝트 별 섀도우가 많거나 해서 비용이 늘어나는 경우 느려질 수가 있습니다. 이러한 이유로 인해 이 기능을 기본적으로 활성화시키지 않은 것입니다.

태그
언리얼 엔진 문서의 미래를 함께 만들어주세요! 더 나은 서비스를 제공할 수 있도록 문서 사용에 대한 피드백을 주세요.
설문조사에 참여해 주세요
건너뛰기