如何触发GPU崩溃



有时我们可以触发一个"CPU崩溃";代码类似:

*(int*)0=1234;

相应地,任何简单的代码都可以触发";GPU崩溃";(可能需要一些DirectX接口(?

我之所以需要这个是因为我想了解Unreal的(UE4/UE5(GPU崩溃处理流程。期望UE的任何代码。

THX

用像样的驱动程序来破坏现代GPU是非常困难的。通常情况下,它们会一直运行到任务完成。如果任务非常大或需要很长时间,操作系统会认为它们只是停止了响应。发生这种情况后,有几个选项:

  • 崩溃:非常罕见的

  • 重置驱动程序:这将重置DirectX状态并崩溃无论哪个程序正在使用它(除非它正在检查,但是这似乎是浪费(

  • 中止操作:这是更现代化的硬件和驱动程序,但它们可以简单地停止程序

  • 不间断运行:只有当GPU被其他任何东西使用时,才会发生这种情况。

做一些无休无止的繁重计算(分形(,看看会发生什么。

您可以触发"超时设备恢复"(TDR(,这与GPU崩溃非常相似。

使用以管理员身份运行的Visual Studio开发人员命令提示符:

dxcap -forcetdr

请记住,这会为所有运行的应用程序触发TDR。

最新更新