显卡“掉驱动”问题,早已成为玩家们长期吐槽的痛点。无论是AMD、NVIDIA还是Intel用户,恐怕都经历过屏幕突然黑屏、游戏瞬间闪退的糟心瞬间。然而,开发者面对GPU崩溃的诊断却异常棘手——不仅难以复现,而且不同硬件、驱动版本与系统环境的组合如同迷宫般复杂。在此之前,行业内始终缺乏一套能跨越多家硬件厂商的通用排查流程。
好消息是,微软终于决定向这一棘手问题发起攻势。6月18日,微软正式面向开发者发布了DirectX Dump Files(DirectX转储文件)的公开预览版。该功能最初在今年的游戏与开发者大会(GDC)上亮相,其目标十分清晰:将主机级别的GPU开发工具引入Windows平台,为GPU崩溃调试开辟一条标准化路径。

实际上,Windows 11的图形驱动超时与检测恢复(TDR)机制并非全新事物。在Win11 24H2和25H2中,WDDM 3.2已经针对此类问题进行过专项优化。然而,DirectX Dump Files公开预览版的发布,才标志着微软真正迈出了走向跨硬件厂商(IHV)统一解决方案的第一步。
核心机制与原理
简单而言,这项名为“DirectX Dump Files”的新API,其工作机制类似于系统崩溃时生成的内存转储文件。当图形相关的崩溃、挂起或冻结发生时,系统会自动捕获那一刻GPU执行状态的快照,生成一个扩展名为.dxdmp的全面转储文件。该文件涵盖了硬件、驱动、Windows系统以及受影响应用的详细信息,相当于为开发者提供了一份现场还原的完整档案。
早在GDC 2026首次展示时,微软就已详细阐述了DDF的设计逻辑:从图形栈的每一层收集数据,统一整合到一个文件中。如此一来,开发者无需再手动关联多个工具日志,实现一步到位。
数据采集究竟有多全面?
转储文件能够包含大量技术细节,例如寄存器值、着色器程序计数器、页错误虚拟地址、着色器内存数据以及命令缓冲区等GPU硬件状态信息。同时,还会捕获DirectX运行时和内核信息,包括D3D对象、管线状态对象、设备错误数据、适配器详情以及CPU调用堆栈。就诊断价值而言,这套数据集合已经相当完备。
微软透露,该功能围绕两个主要使用场景设计:零售设备移除和本地设备移除。前者允许开发者从最终用户的实际设备上收集崩溃信息,后者则帮助QA团队和开发者在测试机器上排查问题。此外,开发者还可以通过新的D3D12 API附加最多2MB的自定义应用数据,为故障排除提供额外的上下文信息。
三种模式:兼顾性能开销与诊断精度
性能开销同样是需要权衡的关键因素。微软引入了三种模式:“无开销(NO_OVERHEAD)”模式运行时零成本,适合大规模分发与部署;“中开销(MEDIUM_OVERHEAD)”模式在诊断数据丰富度与性能影响之间取得平衡;“高开销(HIGH_OVERHEAD)”模式信息收集最为详尽,但性能代价也最高。开发者可根据实际需求灵活选用。
此外,新版还引入了HLSL DebugBreak()内部函数。当着色器遇到预期之外的情况时,可以主动触发TDR并生成转储文件——相当于主动“扔出一颗信号弹”来标记问题。
值得关注的是,在兼容的Tier 2级别硬件上,系统会默认启用零开销模式。这意味着开发者无需修改任何代码即可接收崩溃诊断数据。这正是降低使用门槛的关键设计。
生态合作与时间规划
微软高级项目经理Jacques van Rhyn指出,AMD、英特尔、英伟达和高通均在GDC上演示过该功能。目前部分选定设备已获得专用驱动支持,未来硬件覆盖范围还将持续扩大。即便在没有专用驱动的硬件上,只要系统与Agility SDK满足要求,也能生成不含硬件状态和驱动数据的部分转储文件。
使用方面,目前该功能要求设备开启开发者模式,并搭配Agility SDK 1.721.1-preview以及特定版本的Windows系统(24H2/25H2需KB5089573或更高版本;26H1需KB5089570或更高版本)。硬件与驱动方面,AMD已推出面向Agility SDK的开发者预览版驱动(版本号26.10.07.02),支持Radeon RX 9000系列和RX 7000系列显卡;而英特尔、英伟达和高通的预览驱动则需要联系各自的开发者关系代表获取。
微软明确表示,DirectX Dump Files目前暂不计划用于零售版游戏的部署,现阶段鼓励开发者使用预览版来验证工作流,并协助塑造最终产品。从时间规划来看,预计在2026年秋季前后,即Win11 26H2正式发布时,才会进行更大范围的推送。
这条路走了很久,但终究看到了标准化方向。对于整个GPU开发生态而言,这或许是一份来得有些迟、但不可或缺的礼物。
