微軟詳解DirectX 12中新引入的兩項代碼調試功能
對于想要獲得更好的 GPU 性能的開發者來說,DirectX 12 是一款很重要的工具。2015 年的時候,DX12 隨著 Windows 10 的發布而正式與大家見面。而在最新的 Windows 10 秋季創作者更新(1709)中,該公司又為它添加更多的功能 API,以方便開發者追蹤和消除程序的 bug 。近日,Jacques van Rhyn 通過 DX 開發者博客發表了一篇文章,重點介紹了 DX12 兩大新特性。

作為一名開發者,你顯然需要清楚了解什么命令可能導致程序在 GPU 上運行時崩潰,然后盡力避免此類事件的發生。設計上,這兩款工具可以相輔相成,幫你重點消除“設備移除”或“設備丟失”之類的錯誤。
首先是改進了數據調試:
在秋季創作者更新之前,應用程序無法直接控制底層的內存資源。但在某些需要訪問資源內存內容的應用中,這點又是非常重要的,比如剛好發生了設備移除錯誤之后。
我們已經部署了一款這樣的工具,有需要的開發者們現可獲知更多更用的信息,幫助他們確定錯誤發生在了哪里。以及優化試圖確定錯誤原因的時間,讓他們有更充裕的時間來跨系統修復。
其次是改進了命令調試:
我們制作了可以與前者共同使用的另一款工具,它可以創建標記,記錄哪些發自 GPU 的命令已經被執行,另有哪些在執行過程中。
在崩潰發生的時候,即使是一個設備移除崩潰,這些信息仍然是滯后的,意味著我們可以很快地找出哪些命令可能誘發了崩潰。
對于開發者來說,這些信息可以顯著減少游戲開發和修復 bug 所需的時間。
Van Rhyn 指出,新工具的意義,在于能夠讓開發者們將更多時間花在構建“高性能、可靠的游戲”,而不再糾結于“搜索特定錯誤的深層原因”。
此外,Van Rhyn 還略詳細地介紹了今年 4 月份的 Windows 10 創意者更新(1704)中引入的“深度范圍測試”(Depth Bounds Testing)和“可編程多重采樣反鋸齒”(Programmable Multisample Anti-Aliasing)特性。
最后,Windows 10 秋季創意者更新還修復了多個 DX12 的 bug,且微軟開發部門將開始每月例行更新 PIX 圖形調試軟件。
來自: cnBeta