NVIDIA Aftermath

整合 NVIDIA 的 Aftermath 技术,可在基于 NVIDIA GeForce 的 GPU 上实现 GPU 崩溃后的分析。

Windows
MacOS
Linux

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
Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback