圖形診斷
本文件說明 Visual Studio 圖形診斷工具,您可以用於診斷 DirectX 圖形應用程式中常見的呈現問題。 圖形診斷支援 Direct3D 10、Direct3D 10.1、Direct3D 11 和 Direct3D 11.1,並提供有限的 Direct2D 支援。 不支援舊版 Direct3D、DirectDraw 或其他圖形應用程式開發介面。
您可以使用圖形診斷:
擷取轉譯的框架以供稍後檢查。
瀏覽並選取擷取的框架以供進行詳細檢查和分析。
檢視在框架期間發生的 Direct3D 事件,以及這些事件對於應用程式造成的影響。
檢視 3-D 網狀結構資料或在每次管線階段之後呈現目標資料。
跳至特定 Direct3D 事件的原始程式碼位置。
在每個框架中找出哪些 Direct3D 事件參與特定像素的色彩。
檢查 Direct3D 物件,例如裝置狀態、緩衝區、網狀結構和材質。
圖形記錄
在圖形診斷擷取工作階段期間,會建立圖形記錄以記錄事件、資源和圖形狀態。 之後,您就可以使用圖形記錄重新建立並詳細檢查擷取的框架,而不需要複製用來進行擷取的環境。 您可以同時載入多個圖形記錄 (.vsglog),以比較資料和呈現結果。 由於這些檔案是獨立的,您可以與其他開發人員共用它們。 如需詳細資訊,請參閱偵錯 DirectX 圖形。
注意事項 |
---|
由於某些 Windows 8 應用程式開發介面無法在 Windows 7 或 Windows Vista 中使用,因此使用這些應用程式開發介面的應用程式在 Windows 7 或 Windows Vista 上重新建立。 |
開啟圖形記錄 (vsglog) 檔
在 Visual Studio 的功能表列上,選擇 [檔案]、[開啟]、[檔案]。 [開啟檔案] 對話方塊隨即出現。
指定圖形記錄 (.vsglog) 開啟的檔案,然後選取 [開啟] 按鈕。
使用圖形診斷工具列
您可以使用圖形診斷工具列存取可協助您將資料擷取至圖形記錄檔的工具,然後診斷及偵錯擷取到記錄檔中的問題。
以下是圖形診斷工具列:
下表描述包含在圖形診斷工具列上的項目。 項目按照從左至右的出現順序列出。
工具列按鈕上 |
描述 |
---|---|
開始診斷 |
從一個啟用圖形診斷支援的 Direct3D 應用程式開始。 當您以這種方式啟動應用程式時,可以使用圖形診斷擷取執行中應用程式中個別框架的詳細資訊。 |
事件清單 |
開啟 [圖形事件清單] 視窗。 |
像素歷史記錄 |
開啟 [圖形像素歷史記錄] 視窗。 |
事件呼叫堆疊 |
開啟 [圖形事件呼叫堆疊] 視窗。 |
物件表 |
開啟 [圖形物件表] 視窗。 |
管線階段 |
開啟 [圖形管線階段] 視窗。 |
擷取的框架 |
從使用 [開始診斷] 按鈕所啟動的執行中 Direct3D 應用程式擷取框架。 只有在啟用圖形診斷的應用程式執行時, 才會啟用[擷取框架] 按鈕。 |
DirectX 控制台
DirectX 控制台是可以用來變更 DirectX 行為的 DirectX 元件。例如,您可以啟用 DirectX Runtime 元件的偵錯版本,選取要報告的偵錯訊息種類和禁止某些圖形硬體功能去模擬功能很少的硬體。 這個 DirectX 控制層級可以協助您偵錯及測試 DirectX 應用程式。 您可以從 Visual Studio 存取 DirectX 控制台。
開啟 DirectX 控制台
- 在功能表列上,選擇 [偵錯]、[圖形]、[DirectX 控制台]。
圖形診斷工具視窗
下圖顯示工具視窗,它是用來檢查和偵錯已擷取的框架。 每個視窗都會公開不同分類的、針對檢查中框架 (或甚至框架中的個別像素) 所擷取的資訊。
相關主題
標題 |
描述 |
---|---|
說明如何擷取圖形資訊,讓您可以在圖形診斷工具中進行分析。 |
|
在圖形記錄文件說明如何使用圖形資訊識別是由轉譯問題所造成的視覺疊影。 |
|
說明如何使用 [圖形事件清單] 識別與轉譯問題相關的事件。 |
|
說明如何使用 [圖形管線階段] 視窗識別轉譯問題第一次出現的管線階段。 |
|
說明如何使用 [圖形事件呼叫堆疊] 找出與轉譯問題相關的應用程式程式碼。 |
|
說明如何使用 [圖形像素歷史記錄] 檢查影響像素完稿色彩之事件的詳細資料。 |
|
說明如何使用 [圖形物件表] 檢視與轉譯問題相關的物件細節。 |
|
說明如何使用 [HLSL 偵錯工具]。 |