UE4/5修复GPU驱动程序崩溃

本文介绍了虚幻4/5项目中GPU崩溃的问题,由于Windows系统保护机制,渲染时间过长可能导致驱动程序被杀死。通过编辑TdrDelay和TdrDdiDelay注册表项,可以增加渲染进程的运行时间,以降低GPU崩溃。但此方法并非万能,对于大量数据处理,可能仍需优化应用或硬件配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

GPU崩溃情况

        在虚幻4/5的一些项目运行过程中,因为存在处理大量图形的情况,可能会导致GPU崩溃,就像下面这张图。

随后基本上就会出现这种虚幻引擎崩溃窗口

发生GPU崩溃的原因

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

解决方法

        在我们开发比较大项目时候,可能经常遇到这种崩溃。编辑Windows注册表项,可以让系统有更多时间运行渲染进程。方法是创建两个新的注册表项:TdrDelay 和 TdrDdiDelay 。

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

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

接下来是方法步骤:

1.第一步,在Windows搜索下,搜索“run”。随后打开运行(run)程序(或Windows键+R键

2.在打开的小框中,输入"regedit" 。点击 确定(OK) 打开注册表编辑器。

3.在注册表编辑器左侧导航栏列表中,找到 GraphicsDrivers 。位置是Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers   或 (计算机\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers)

注意添加到GraphicDrivers文件夹中,不要添加错地方了

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
发出的红包

打赏作者

一支飞编程

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

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

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

打赏作者

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

抵扣说明:

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

余额充值