UE修复GPU驱动程序崩溃

GPU崩溃情况概述

在处理含有大量图形的项目时,你有可能会遇到GPU崩溃。发生这种情况时,你将看到如下所示的窗口。

图片

接着通常会出现虚幻引擎崩溃报告器窗口。

图片

发生GPU崩溃的原因

为防止应用程序因使用过多内存而锁死,Windows实施了保护措施。如果一个应用程序的渲染时间超过几秒,Windows就会杀死GPU驱动程序,导致应用程序崩溃。在虚幻引擎这样的应用程序中,无法知道渲染进程的耗时,因此无法在应用程序层面避免崩溃。

如何解决此崩溃

在开发项目期间,遇到GPU崩溃的情况并不罕见。但是,有一种方法可在开发过程中避免这种类型的崩溃,就是编辑Windows注册表项,让系统有更多时间运行渲染进程。在本指南中,你将创建两个新的注册表项:TdrDelay和TdrDdiDelay 。

  • TdrDelay用于设置超时阈值。即负责处理和存储(VRAM)的GPU调度程序发出抢占请求时,GPU将此请求延迟的秒数。

  • TdrDdiDelay用于设置操作系统(OS)允许线程离开驱动程序的时长。该时长耗尽之后,将发生超时延迟故障。

NOTE: 要进一步了解注册表项,请查阅Microsoft关于Tdr注册表项的官方文档:

https://learn.microsoft.com/en-us/windows-hardware/drivers/display/tdr-registry-keys

WARNING: 在Windows操作系统上更改注册表项,可能会产生意外的结果,并需要彻底重新安装Windows。尽管在本教程中添加或编辑注册表项应该不会导致这些结果,但我们推荐你在备份系统之后再继续操作。若因修改系统注册表给系统造成损害,Epic Games概不负责。

你需要将两个注册表项添加到显卡驱动。执行以下步骤来添加注册表项。

1. 在Windows操作系统搜索栏中输入"run"。打开运行(Run)应用程序。

图片

2. 在搜索字段中,输入"regedit"。点击确定(OK)打开注册表编辑工具。

图片

3. 在注册表编辑工具左侧导航栏中找到GraphicsDrivers分段。此项的位置是Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers。

图片

NOTE: 注册表项需要添加到GraphicsDrivers文件夹,而不是其子文件夹。请务必选择正确的文件夹。

4. 你需要的注册表项称为TdrDelay。如果该注册表项已存在,请双击进行编辑。如果尚未存在,请右键点击右侧的窗格,并选择新建(New)> DWORD (32 位)值(DWORD (32-bit) Value)。

图片

5. 将基数(Base)设置为十进制(Decimal)。将TdrDelay的值(Value)设置为60。点击确定(OK)完成。

图片

6. 你需要称为TdrDdiDelay的第二个注册表项。如果该注册表已存在,请双击进行编辑。如果尚未存在,请右键点击右侧的窗格,并选择新建(New) > DWORD (32 位)值(DWORD (32-bit) Value)进行创建。

7. 将基数(Base)设置为十进制(Decimal)。将TdrDdiDelay的值(Value)设置为60。点击确定(OK)完成。

图片

8. 你的注册表现在应该包括TdrDelay和TdrDdiDelay。

图片

9. 关闭注册表编辑器。

10. 重启计算机,使这些更改生效。

结果

添加这些注册表项之后,Windows现在将等待60秒,再确定应用程序的渲染进程是否耗时太久。如果你仍遇到类似的GPU崩溃,请将注册表项TdrDelay和TdrDdiDelay中的值(Value)从60更改为120秒。

虽然这种方法能够很好地遏制基于渲染的GPU崩溃,但并不能解决所有崩溃。如果你尝试同时处理太多数据,无论你将超时延迟设置得多长,GPU都可能会超时。该解决方案只是给你的显卡稍微多提供了一点时间。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

A+耶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值