# 世界分区和Nanite导致的crash，最后调用的是FD3D12ContextCommon::BindDiagnosticBuffer()

**URL:** <https://forums.unrealengine.com/t/nanite-crash-fd3d12contextcommon-binddiagnosticbuffer/2713389>\
**Category:** 简体中文 (Simplified Chinese)\
**Tags:** unreal-engine, question\
**Created:** [April 9, 2026, 6:41pm UTC](https://forums.unrealengine.com/t/nanite-crash-fd3d12contextcommon-binddiagnosticbuffer/2713389 "2026-04-09T18:41:35Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![d6fc6eb270974481b7c247410d3418a9](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/d6fc6eb270974481b7c247410d3418a9/32/1166135_2.png) [@d6fc6eb270974481b7c247410d3418a9](https://forums.unrealengine.com/u/d6fc6eb270974481b7c247410d3418a9)\
**Post date:** [April 9, 2026, 6:41pm UTC](https://forums.unrealengine.com/t/nanite-crash-fd3d12contextcommon-binddiagnosticbuffer/2713389/1 "2026-04-09T18:41:35Z")

</div>

麻烦各位大佬帮忙看看，版本为5.5.4，已经在沙漠中找过大象，但是没找到，禁用HLOD也试过、禁用部分可疑骨骼网格体的nanite也试过，升级到5.7.4也试过。

1.开启了世界分区、Nanite、Lumen、VSM

2.地图进行了HLOD构建

3.在地图内随机传送一整变，覆盖大部分区域，此时一切正常。

4.然后在一个相对复杂的场景进行了反复的跑动，然后会在某个时刻突然无预兆的崩溃。

附件中有崩溃的dmp文件，但是因为附带的log信息没有具体的崩溃内容，所以我从其他崩溃log复制了一下，如下：  
[2026.04.09-16.45.31:381][151]LogRHI: Error: Breadcrumbs ‘Parallel’

- Nanite::BasePass

- NaniteBasePass

- BasePass

- Scene

- FRDGBuilder::Execute

- Frame 7149

[2026.04.09-16.45.31:381][151]LogThreadingWindows: Error: Runnable thread Background Worker #3 crashed.  
[2026.04.09-16.45.31:381][151]LogThreadingWindows: Error: Runnable thread Background Worker #10 crashed.  
[2026.04.09-16.45.31:381][151]LogWindows: Error: === Critical error: ===  
[2026.04.09-16.45.31:381][151]LogWindows: Error:  
[2026.04.09-16.45.31:381][151]LogWindows: Error: Fatal error!  
[2026.04.09-16.45.31:381][151]LogWindows: Error:  
[2026.04.09-16.45.31:381][151]LogWindows: Error: Unhandled Exception: EXCEPTION\_ACCESS\_VIOLATION reading address 0xffffffffffffffff  
[2026.04.09-16.45.31:381][151]LogWindows: Error:  
[2026.04.09-16.45.31:381][151]LogWindows: Error: [Callstack] 0x00007ff740141bb0 RetraceLight.exe!FD3D12ContextCommon::BindDiagnosticBuffer()   
[2026.04.09-16.45.31:381][151]LogWindows: Error: [Callstack] 0x00007ff74016e0c7 RetraceLight.exe!FD3D12DescriptorCache::SetSamplerTable()   
[2026.04.09-16.45.31:382][151]LogWindows: Error: [Callstack] 0x00007ff74015fdf7 RetraceLight.exe!FD3D12CommandContext::RHISetShaderParameters()   
[2026.04.09-16.45.31:382][151]LogWindows: Error: [Callstack] 0x00007ff74045c24e RetraceLight.exe!FRHICommandSetShaderParameters::Execute()   
[2026.04.09-16.45.31:382][151]LogWindows: Error: [Callstack] 0x00007ff73ee5f638 RetraceLight.exe!FRHICommand\<FRHICommandSetShaderParameters,FRHICommandSetShaderParametersString1640\>::ExecuteAndDestruct()   
[2026.04.09-16.45.31:382][151]LogWindows: Error: [Callstack] 0x00007ff74045e7b1 RetraceLight.exe!FRHICommandListBase::Execute()   
[2026.04.09-16.45.31:382][151]LogWindows: Error: [Callstack] 0x00007ff740487f33 RetraceLight.exe!FRHICommandListExecutor::FTranslateState::Translate()   
[2026.04.09-16.45.31:382][151]LogWindows: Error: [Callstack] 0x00007ff740449f36 RetraceLight.exe!operator==()   
[2026.04.09-16.45.31:382][151]LogWindows: Error: [Callstack] 0x00007ff74045ff61 RetraceLight.exe!FRHICommandListExecutor::FTaskPipe::Execute()   
[2026.04.09-16.45.31:382][151]LogWindows: Error: [Callstack] 0x00007ff73c279346 RetraceLight.exe!TGraphTask\<TFunctionGraphTaskImpl\<void \_\_cdecl(enum ENamedThreads::Type,TRefCountPtr const & \_\_ptr64),0\> \>::ExecuteTask()   
[2026.04.09-16.45.31:383][151]LogWindows: Error: [Callstack] 0x00007ff73bca7633 RetraceLight.exe!UE::Tasks::Private::FTaskBase::TryExecuteTask()   
[2026.04.09-16.45.31:383][151]LogWindows: Error: [Callstack] 0x00007ff73bc7a64f RetraceLight.exe!LowLevelTasks::TTaskDelegate\<LowLevelTasks::FTask \* \_\_ptr64 \_\_cdecl(bool),48\>::TTaskDelegateImpl\<`LowLevelTasks::FTask::Init<`UE::Tasks::Private::FTaskBase::Init’::`2'::<lambda_1> >'::`13’::\<lambda\_1\>,0\>::CallAndMove()   
[2026.04.09-16.45.31:383][151]LogWindows: Error: [Callstack] 0x00007ff73bc8573e RetraceLight.exe!LowLevelTasks::FTask::ExecuteTask()   
[2026.04.09-16.45.31:383][151]LogWindows: Error: [Callstack] 0x00007ff73bc854bb RetraceLight.exe!LowLevelTasks::FScheduler::ExecuteTask()   
[2026.04.09-16.45.31:383][151]LogWindows: Error: [Callstack] 0x00007ff73bcaabed RetraceLight.exe!LowLevelTasks::FScheduler::WorkerLoop()   
[2026.04.09-16.45.31:383][151]LogWindows: Error: [Callstack] 0x00007ff73bc73151 RetraceLight.exe!`FScopeCycleCounter::~FScopeCycleCounter'::`2’::\<lambda\_1\>::operator()()   
[2026.04.09-16.45.31:383][151]LogWindows: Error: [Callstack] 0x00007ff73be6eec3 RetraceLight.exe!FThreadImpl::Run()   
[2026.04.09-16.45.31:383][151]LogWindows: Error: [Callstack] 0x00007ff73c286218 RetraceLight.exe!FRunnableThreadWin::Run()   
[2026.04.09-16.45.31:383][151]LogWindows: Error: [Callstack] 0x00007ff73c27d87f RetraceLight.exe!FRunnableThreadWin::GuardedRun()   
[2026.04.09-16.45.31:383][151]LogWindows: Error: [Callstack] 0x00007ffee223e8d7 KERNEL32.DLL!UnknownFunction   
[2026.04.09-16.45.31:383][151]LogWindows: Error:  
[2026.04.09-16.45.31:383][151]LogWindows: Error: Crash in runnable thread Background Worker #3  
[2026.04.09-16.45.31:383][151]LogWindows: Error: HandleError re-entered.  
[2026.04.09-16.45.31:383][151]LogWindows: FPlatformMisc::RequestExit(1, FRunnableThreadWin::GuardedRun.ExceptionHandler)  
[2026.04.09-16.45.31:383][151]LogWindows: FPlatformMisc::RequestExitWithStatus(1, 3, FRunnableThreadWin::GuardedRun.ExceptionHandler)  
[2026.04.09-16.45.31:383][151]LogCore: Engine exit requested (reason: Win RequestExit)

---

<div class="post-metadata">

**Author:** ![LucasRz](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@LucasRz](https://forums.unrealengine.com/u/LucasRz)\
**Post date:** [August 28, 2026, 3:23pm UTC](https://forums.unrealengine.com/t/nanite-crash-fd3d12contextcommon-binddiagnosticbuffer/2713389/2 "2026-08-28T15:23:17Z")

</div>

Hi SkyWater, I’m experiencing the exact same issue. Were you able to find any solution? Thanks!

---

<div class="post-metadata">

**Author:** ![ChenDong](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@ChenDong](https://forums.unrealengine.com/u/ChenDong)\
**Post date:** [October 7, 2026, 5:35am UTC](https://forums.unrealengine.com/t/nanite-crash-fd3d12contextcommon-binddiagnosticbuffer/2713389/3 "2026-10-07T05:35:59Z")

</div>

BindDiagnosticBuffer 出现在调用栈里一般只是 GPU 崩溃（DEVICE\_REMOVED / TDR）后 D3D12 在写诊断信息，真正的原因要看 breadcrumbs，你这里停在 Nanite::BasePass，说明 GPU 在执行 Nanite 光栅/基础通道时挂掉了。可以按下面的思路排查：

1. 用 -gpucrashdebugging 或 -d3ddebug 启动，并开启 r.GPUCrashDebugging=1，日志里会有更具体的 breadcrumb 和资源名。
2. 先排除 TDR 超时：注册表把 TdrDelay 调大（比如 60）看是否还崩；若不崩说明是某帧负载过重而非数据错误。
3. 更新显卡驱动，关闭超频；部分 NVIDIA 驱动对 Nanite 有已知问题。
4. 测试 r.Nanite.MaxPixelsPerEdge、r.Nanite.Streaming 相关参数，或临时 r.Nanite 0，确定是否 Nanite 独有。
5. 检查复杂场景中是否有带 World Position Offset / Masked 材质的 Nanite 网格（植被常见），把它们逐个关掉 Nanite 或关闭 WPO 试试。

希望能帮你缩小范围。
