第5期(1):UE4的奇怪Bug和解決方案匯總(03)

1. 在使用UE4編輯器(如UE4.19版本)過程中,經常出現「GPU has crashed」類型的編輯器崩潰的情況

情況1:查看編輯器日誌,發現崩潰的錯誤信息如下所示。

錯誤信息的關鍵字包括:「Aftermath」、「D3D11Query.cpp] [Line: 111] 」、「GPU has crashed

分析:查看對應的代碼就會發現,崩潰的原因是「GDynamicRHI->CheckGpuHeartbeat()」返回了「False」。如下所示。

在執行「CheckGpuHeartbeat()」這個函數時,只有「GDX11NVAfterMathEnabled」為「True」,該函數才有可能返回「False」。

因此,為了避免這個「GPU has crashed」類型的編輯器崩潰的情況,可以直接考慮將「GDX11NVAfterMathEnabled」設置為「False」。

在UE4引擎底層源代碼中,「GDX11NVAfterMathEnabled」的申明如下:

從代碼中,可以看出,可以通過將「r.DX11NVAfterMathEnabled」設置為「False」,來將「GDX11NVAfterMathEnabled」設置為「False

解決方法:

可以參考關於「AfterMath」的官方文檔,嘗試通過關閉「AfterMath」功能,來解決上面的編輯器崩潰問題。

NVIDIA Aftermath?

docs.unrealengine.com圖標

具體步驟如下:

1.找到對應版本UE4引擎(這裡是UE4.19.2)的「Config」文件夾,打開其中的「ConsoleVariables.ini」文件:

2. 在「ConsoleVariables.ini」文件中的「[Startup]」配置區段中添加如下的配置信息

r.DX11NVAfterMathEnabled=0
r.GPUCrashDebugging=0

3. 再重啟UE4編輯器即可。


推薦閱讀:

TAG:Bug | 虛幻4(遊戲引擎) | 圖形處理器(GPU) |