UE5.1 GPU Driver crash when using Nanite on Trees

Hey guys, after some extensive testing I have found that whenever I enable Nanite on Trees/Foliage, it will crash my GPU Driver (TDR is at 60), it happens when I get too close and then zoom out. I thought it was an LOD thing at first but only happens if I have Nanite enabled assets that are TREES/FOLIAGE. Nanite rocks and other “still” meshes are unaffected it seems.

System:
Windows 11
Ryzen 5900X
16GB RAM
AMD RX 7900 XTX 24GB (latest drivers)
3440 x 1440, engine capped at 60 fps.

I will also attach the end of the crash log, but does anyone have an idea how to fix this? I tried reinstalling the assets and ensuring they are UE5.1 compatible, but no dice.


[2023.01.31-15.46.04:408][251]LogActorFactory: Actor Factory attempting to spawn StaticMesh /Game/BlackAlder/Geometry/PivotPainter/SM_BlackAlder_Seedling_01_PP.SM_BlackAlder_Seedling_01_PP
[2023.01.31-15.46.04:409][251]LogActorFactory: Actor Factory spawned StaticMesh /Game/BlackAlder/Geometry/PivotPainter/SM_BlackAlder_Seedling_01_PP.SM_BlackAlder_Seedling_01_PP as actor: StaticMeshActor /Game/Maps/CastleLevel_CrashTest.CastleLevel_CrashTest:PersistentLevel.StaticMeshActor_368
[2023.01.31-15.46.04:421][251]LogActorFactory: Actor Factory attempting to spawn StaticMesh /Game/BlackAlder/Geometry/PivotPainter/SM_BlackAlder_Seedling_02_PP.SM_BlackAlder_Seedling_02_PP
[2023.01.31-15.46.04:421][251]LogActorFactory: Actor Factory attempting to spawn StaticMesh /Game/BlackAlder/Geometry/PivotPainter/SM_BlackAlder_Seedling_02_PP.SM_BlackAlder_Seedling_02_PP
[2023.01.31-15.46.04:421][251]LogActorFactory: Actor Factory spawned StaticMesh /Game/BlackAlder/Geometry/PivotPainter/SM_BlackAlder_Seedling_02_PP.SM_BlackAlder_Seedling_02_PP as actor: StaticMeshActor /Game/Maps/CastleLevel_CrashTest.CastleLevel_CrashTest:PersistentLevel.StaticMeshActor_369
[2023.01.31-15.46.10:632][779]Cmd: SELECT NONE
[2023.01.31-15.46.15:025][184]LogD3D12RHI: Display: Temp texture streaming buffer not large enough, needed 8388608 bytes
[2023.01.31-15.46.19:505][655]LogD3D12RHI: Display: Temp texture streaming buffer not large enough, needed 8388608 bytes
[2023.01.31-15.46.20:386][760]LogD3D12RHI: Display: Temp texture streaming buffer not large enough, needed 8388608 bytes
[2023.01.31-15.46.26:028][838]LogD3D12RHI: Warning: GPU timeout: A payload (0x000006A8E1101420) on the [0x000006A8CE122280, 3D] queue has not completed after 5.000000 seconds.
[2023.01.31-15.47.27:949][838]LogD3D12RHI: Error: CurrentQueue.Device->GetDevice()->GetDeviceRemovedReason() failed
at D:\build++UE5\Sync\Engine\Source\Runtime\D3D12RHI\Private\D3D12Submission.cpp:910
with error 887A0006

[2023.01.31-15.47.27:949][838]LogD3D12RHI: Error: [GPUBreadCrumb] Last tracked GPU operations:
[2023.01.31-15.47.27:949][838]LogD3D12RHI: Error: [GPUBreadCrumb] 3D Queue 0 - End: Frame 33835 - Scene - Nanite VisBuffer - Nanite::CullRasterize - PostPass - RasterBinScatter
[2023.01.31-15.47.28:215][838]LogD3D12RHI: Error: [GPUBreadCrumb] Copy Queue 0 - No Data
[2023.01.31-15.47.28:307][838]LogD3D12RHI: Error: [GPUBreadCrumb] Compute Queue 0 - End: AccessModePass[AsyncCompute] (Textures: 1, Buffers: 8)
[2023.01.31-15.47.28:414][838]LogD3D12RHI: Error: DRED: No breadcrumb head found.
[2023.01.31-15.47.28:414][838]LogD3D12RHI: Error: DRED: No PageFault data.
[2023.01.31-15.47.28:414][838]LogD3D12RHI: Error: Memory Info from frame ID 33861:
[2023.01.31-15.47.28:414][838]LogD3D12RHI: Error: Budget: 23750.75 MB
[2023.01.31-15.47.28:414][838]LogD3D12RHI: Error: Used: 6081.38 MB
[2023.01.31-15.47.49:093][838]LogWindows: Error: Error reentered: Fatal error: [File:D:\build++UE5\Sync\Engine\Source\Runtime\D3D12RHI\Private\D3D12Util.cpp] [Line: 868]
CurrentQueue.Device->GetDevice()->GetDeviceRemovedReason() failed
at D:\build++UE5\Sync\Engine\Source\Runtime\D3D12RHI\Private\D3D12Submission.cpp:910
with error 887A0006

Using GPUz I can see the max GPU usage spike to 100%, though VRAM caps at 13GBish and system memory is also around 13GBish (out of 16gb). My paging file is on my SSD, ranged from 12gb - 24gb.

Any ideas? Love the engine so far.

Hey there @The_Ebon_Rider! Welcome to the community! How large is the textures for the foliage? Is it using WPO?

Hey thanks for replying. The textures are a mix of 4k and 8k, all of them seem to have this issue. They are using WPO, I assume things such as wind strength and such. I hope these answer your questions, thanks for lending a moment of your time to help me.

So nanite with foliage is in beta, but nanite with WPO is in heavy beta. It’s highly likely that it’s eating more resources than it should while resolving. Could you try a lower texture res version if the foliage on a different map and see if it continues?

Hey sorry for my slow reply.

I have since tried a fresh map and it doesn’t seem to crash with Nanite enabled from what I have tested on the foliage, with all the surefire ways it would usually crash under duress.

I am not if its a seperate issue but I also tried a marketplace map called “Medieval Dungeon” which supports up to UE 4.26, I did import it with compatibility but that also crashes when I start to move the camera, not sure if it just… doesnt like UE5 and if that is a seperate issue however.

No worries on the late reply, it’s common on the forums. So fresh maps with a similar amount of foliage present don’t crash but larger scale ones do? It’s leaning towards drivers or GPU getting overwhelmed.

It might be worth noting I did spawn a lot of trees in a tight circle and ran my camera through that, whilst I did lose FPS I did not crash, it would generally crash when I zoom in and out, back and forth - that sort of stuff.

Well, I get really strong framerates but I usually cap it at 60. I cant imagine the GPU is getting overwhelmed cause its a 7900 XTX, would be sort of bonkers to me however the 7900XTX does seem to have a fair amount of early adoption issues in my experience. Theres one other game where I may get driver timeouts, but these seem to be widespread so I would assume its a driver issue as others seem to have problem on the Redwood demo for example.

Having said that my system has RAM instability issues infrequently atm, so I am not sure if perhaps bleed over from that is affecting anything though I would suspect its my motherboard from my findings so far. After I replace some parts I will test and see again to rule out any potential hardware problems.

I did gather from a tutorial that Nanite was supposed to be the best performance whilst maintaining quality so I’d assume it’d be easier to render VS standard LOD usage.

Performance wise? Yes, however some of it is being tested. Nanite itself is relatively stable, but with Foliage and WPO? Starts to be a bit unstable, but they are both beta features while getting Nanite to where Tessellation was before. Now that it’s there, it’s great but also is still in progress so we could be running into that issue.

There are a myriad of driver issues that can occur to cause these crashes specifically as well, most happening only on DX12 + SM6.

Seems reasonable… also 7900 XTX has new card architecture also… so maybe given some time. Level is very stable now with everything else with nanite except foliage. Thanks a lot for your insight Mr Moderator!

I’ve just gotten a bit more information! So it seems that some AMD drivers are SM6.5 ready right now, but are not SM6.6 which even the minor update seems to have caused some issues. We’re confirming issues with VSMs right now, but Nanite for the most part seems functional across the board so it could just be Nanite foliage in this case. (I know that doesn’t help resolve the issue but it could possibly explain why).