Language:
Page Info
Tags:
Engine Version:
Share

NVIDIA Aftermath

Aftermath_Banner.png

推荐将 NVIDIA 驱动升至 382.53 或更新版本,其中包含诸多改良,使用更为快捷。

从 4.15.2 版本起,虚幻引擎为基于 Window 的开发者提供 NVIDIA 的 Aftermath C++ 库支持。它将在基于 NVIDIA GeForce 的 GPU 出现崩溃后提供额外数据。此数据包含出现崩溃后 GPU 所执行操作之类的关键信息,便于用户追踪项目中的 GPU 执行情况。

Aftermath 是一个轻量化的实用工具,可减轻部分调试工具对性能历史记录的要求。实际上,它相当轻量化,甚至可以包含在发布的游戏中,提供开发者需要的用户电脑数据。程序员可利用 Aftermath 在代码中插入标记,帮助追踪崩溃发生的根源。这现在被用于在虚幻引擎编辑器中追踪并修复报告或捕捉到的问题。

如需了解额外信息或如何在自己的项目中使用,请查阅 NVIDIA 的 Aftermath 文档 页面。

启用 NVIDIA Aftermath

如使用的是虚幻引擎 4.15.2 版本,NVIDIA Aftermath 将自动启用。你可使用以下控制台命令在 ConsoleVariables.ini 配置文件中对其进行设置:

r.DX11NVAfterMathEnabled

如使用的是虚幻引擎 4.16.2 或更新版本,NVIDIA Aftermath 将自动禁用。你可使用以下控制台命令在 ConsoleVariables.ini 配置文件中对其进行设置:

r.GPUCrashDebugging=1

也可将以下参数传至命令行将其启用:

-gpucrashdebugging

日志

启用 NVIDIA Aftermath 后,您将在日志中看到以下输出:

LogD3D11RHI:[Aftermath] Aftermath enabled and primed

在虚幻引擎 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

在此例中,GPU 崩溃后出现的结果中,带 [Aftermath] 前缀的行说明了状态和问题位于帧中何处,便于您调查其根本诱因。

注意事项

对于拥有约 200 到 300 个标记的普通项目而言,Aftermath 的处理速度足够迅速,但如果单物体阴影之类的内容太多,开销则会较大,可能响应较慢。因此,该功能并非默认启用。

Tags