Инструмент NVIDIA Aftermath и Unreal Engine 4

0
19
Инструмент NVIDIA Aftermath и Unreal Engine 4
Рекомендуется обновить драйвер до NVIDIA 382.53 или более поздней версии, поскольку в нем есть некоторые улучшения, которые значительно ускоряют его использование.

Начиная с версии 4.15.2, Unreal Engine поддерживает библиотеку Aftermath C++ NVIDIA для разработчиков на базе Windows, которая предоставляет дополнительные данные из графических процессоров на базе NVIDIA GeForce после сбоя. Эти данные содержат важную информацию о том, что делал GPU в момент сбоя, что позволяет вам отслеживать, что происходит с GPU в ваших собственных проектах.

Aftermath – это легкий и ненавязчивый инструмент, который снижает производительность, необходимую для некоторых инструментов отладки. На самом деле, он достаточно легкий, чтобы его можно было поставлять с готовыми играми, чтобы получать необходимые данные с компьютеров ваших клиентов. Aftermath позволяет программистам вставлять в свой код маркеры, помогающие отслеживать основные причины сбоев. Теперь он используется в редакторе Unreal Engine для отслеживания и устранения обнаруженных или обнаруженных проблем. Для получения дополнительной информации и использования ее в вашем собственном проекте посетите страницу документации NVIDIA Aftermath.

Включение инструмента NVIDIA Aftermath

Если вы используете Unreal Engine версии 4.15.2, NVIDIA Aftermath включается автоматически.

Вы можете использовать следующую консольную команду, чтобы установить ее в файле конфигурации ConsoleVariables.ini:


r.DX11NVAfterMathEnabled

Если вы используете Unreal Engine версии 4.16 или новее, NVIDIA Aftermath автоматически отключается. Вы можете использовать следующую консольную команду, чтобы установить ее в файле конфигурации ConsoleVariables.ini:


r.GPUCrashDebugging=1

Вы также можете включить его, передав следующий аргумент в командную строку:


-gpucrashdebugging

Журналы

После того, как вы включите NVIDIA Aftermath, вы должны увидеть следующий вывод в вашем журнале:


LogD3D11RHI: [Aftermath] Aftermath enabled and primed

Вы можете получить доступ к своему журналу в Unreal Engine 4, выбрав File Menu > Window > Developer Tools > Output Log или открыв текстовый файл журнала из папки вашего проекта.

Когда происходит сбой, журнал будет отображать что-то похожее на следующее:


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

В этом конкретном примере произошел сбой графического процессора, и результирующие строки с предшествующим [Aftermath] указывают на состояние и место в кадре, чтобы проблема могла выяснить, что было основной причиной.

Решения

Для среднего проекта, который имеет приблизительно от 200 до 300 маркеров, Aftermath достаточно быстр, но замедление может произойти, когда у вас есть определенные вещи, такие как множество теней на объект, которые могут увеличить его стоимость. По этой причине эта функция не включена по умолчанию.