47 lines
1.1 KiB
Markdown
47 lines
1.1 KiB
Markdown
---
|
||
title: DRED调试增强
|
||
date: 2026-05-03 00:00:00
|
||
excerpt: Device Removed Extended Data 增强,GPU 崩溃时提供面包屑上下文
|
||
tags:
|
||
- ARC
|
||
- D3D12RHI
|
||
- Debug
|
||
rating: ⭐
|
||
---
|
||
|
||
# DRED 调试增强
|
||
|
||
返回 [[D3D12RHI]]
|
||
|
||
## 概述
|
||
|
||
DRED(Device Removed Extended Data)是 D3D12 的 GPU 崩溃诊断机制。ARC 引擎增强了 DRED 的使用,在 GPU 崩溃时提供更详细的面包屑(Breadcrumb)上下文信息。
|
||
|
||
## 增强内容
|
||
|
||
### 面包屑上下文
|
||
|
||
在关键渲染操作处插入 Breadcrumb 标记,GPU 崩溃时可以追溯到具体的操作步骤:
|
||
|
||
- 绘制调用标记
|
||
- 资源状态转换标记
|
||
- 计算着色器调度标记
|
||
|
||
### 向量化异常处理器
|
||
|
||
新增 Vectored Exception Handler,在 Windows 异常触发时检查 D3D12 Debug 消息:
|
||
|
||
- 捕获 D3D12 设备丢失事件
|
||
- 自动收集 DRED 信息
|
||
- 输出到日志供崩溃分析
|
||
|
||
## 使用场景
|
||
|
||
- 主机开发中 GPU 挂起的排查
|
||
- 复杂着色器导致的设备丢失诊断
|
||
- CI/CIS 环境中的自动化崩溃分析
|
||
|
||
## 修改文件
|
||
|
||
涉及 D3D12RHI 模块的设备创建、命令列表执行和异常处理路径。
|