微軟推出了DirectX轉儲檔案公開預覽版,讓開發人員能夠體驗這項旨在簡化GPU崩潰偵錯的最新功能。
長期以來電玩遊戲中與GPU相關的崩潰問題一直是開發者的一大難題。由於硬體、驅動程式和作業系統版本組合繁多,而且重現崩潰本身就十分困難,整個過程可謂舉步維艱。
這就是為什麼微軟長期以來一直在開發跨廠商的GPU調試解決方案。透過與所有四家圖形硬體供應商(即AMD、Intel、Nvidia和Qualcomm)合作開發相容的驅動,以及在DirectX運行時、Windows圖形核心和微軟的PIX性能分析工具方面所做的開發工作,Dump Files應運而生。
Microsoft DirectX轉儲檔案的工作原理是在崩潰發生的瞬間對GPU執行情況進行快照,其中包括GPU狀態、驅動程式資料、Direct3D運行時上下文和軟體資料等資訊。所有這些數據都會被打包到一個單獨的檔案中,可以使用PIX進行進一步分析。但是要獲得完整的指標和數據,供應商必須開發支援此功能的驅動程式;否則您只能獲得部分。
微軟也為轉儲檔案定義了三種運作模式:NO_OVERHEAD、MEDIUM_OVERHEAD 和 HIGH_OVERHEAD。第一種模式會在崩潰發生的瞬間產生快照,這意味著運行時運行遙測功能幾乎沒有開銷,但會限制可收集的資料量。 MEDIUM_OVERHEAD模式在運行時效能影響和資料收集之間取得了平衡,而HIGH_OVERHEAD 模式開銷最大,但可以捕獲最詳細的GPU和驅動程式狀態資料。
目前Microsoft DirectX轉儲檔案功能仍處於預覽階段,暫不針對零售遊戲。此舉旨在讓開發者體驗該功能,並給廠商留出時間推出驅動程式更新。因此用於轉儲文件的Agility SDK僅在開發者模式下可用。微軟表示預計將於2026年秋季左右開始向零售遊戲提供該功能的支援。
儘管所有四家廠商都在GDC 2026上展示了可運行的Dump File展示,但AMD是第一個透過其Agility SDK開發者預覽版驅動程式 26.10.07.02 公開預覽該功能的公司。該驅動程式為RX 9000和RX 7000系列顯示卡帶來了對該功能的支援,但目前僅支援HIGH_OVERHEAD模式。
除此之外,AMD還明確表示支援Dump Files的全部功能,包括擴充的PIX標記(用於向GPU崩潰添加更多應用程式上下文的註解)和DebugBreak()(當著色器遇到意外情況時,直接呼叫該函數建立轉儲檔案)。
目前NVIDIA、Intel和Qualcomm尚未發佈公開可用的Dump Files預覽版驅動程式。或許在不久的將來,我們會看到各廠商將該功能直接整合到主驅動程式分支中。無論如何這延續了AMD提前公開支援微軟推出的新DirectX功能(例如高級著色器交付)的良好趨勢。
消息來源 |