共用方式為


偵錯 DirectX 圖形

Visual Studio 可以協助您偵錯 DirectX 遊戲或應用程式中的圖形錯誤。 您可以使用圖形診斷工具,識別特定呈現錯誤,以及對可能會導致錯誤發生的因素執行重點式檢查。

在本節中

  • 圖形診斷概觀
    介紹圖形診斷工作流程和工具。

  • 擷取圖形資訊
    若要使用圖形診斷檢查您應用程式中的呈現問題,請先記錄有關應用程式如何使用 DirectX 的資訊。 在記錄工作階段期間,如果您的應用程式正常地執行,請「擷取」(capture) (即選取) 感興趣的畫面格。 擷取包含如何呈現畫面格的詳細資訊。 您可以將擷取到的資訊儲存為圖形記錄文件,以供稍後再檢查,或與您小組的其他成員共用。

  • 圖形記錄文件
    若要開始檢查所記錄的圖形記錄,請使用圖形記錄文件視窗,選取擷取到的畫面格 (或甚至是特定像素),讓您可以詳細檢查影響它的「事件」(event) (即 DirectX API 呼叫)。

  • 圖形框架分析
    在您選取畫面格之後,請使用圖形畫面格分析檢查和調整呈現效能。

  • 圖形事件清單
    在您選取畫面格之後,請使用 [圖形事件清單] 檢查其事件,以判斷事件是否與呈現問題相關。

  • 圖形管線階段
    在 [圖形管線階段] 視窗中,調查圖形管線各階段如何處理目前選取的事件,讓您可以識別呈現問題第一次出現的位置。 如果物件因轉換錯誤而未出現,或其中一個階段產生不符合下個階段所預期的輸出,則檢查管線階段會特別有用。

  • 圖形事件呼叫堆疊
    您可以使用 [圖形事件呼叫堆疊] 檢查目前所選取事件的呼叫堆疊,讓您可以巡覽至與呈現問題相關的應用程式程式碼。

  • 圖形像素歷史記錄
    透過使用 [圖形像素歷史記錄] 視窗,分析影響目前所選取像素的事件是如何產生影響,您可以識別導致特定類型之呈現問題的事件或事件組合。 如果因像素著色器輸出不正確,或已錯誤地與畫面格緩衝區合併,導致錯誤地呈現物件;或者,如果因為在物件像素到達畫面格緩衝區之前捨棄物件像素,使得物件未顯示,則像素歷史記錄特別有用。

  • 圖形物件表
    您可以使用 [圖形物件表],檢查作用於目前所選取事件之特定 Direct3D 物件和資源的屬性和內容。 物件表可以協助您判斷在事件期間使用中的圖形裝置內容,以及檢查圖形資源的內容 (例如常數緩衝區、端點緩衝區和紋理)。

  • HLSL 偵錯工具
    若要檢查著色器程式碼針對目前所選取事件和圖形管線階段的行為方式,請使用 [HLSL 偵錯工具],逐步執行程式碼、檢查變數內容,以及執行其他一般偵錯工作。 您也可以使用 HLSL 偵錯工具,檢查計算著色器程式碼,不論圖形管線是否進一步處理結果,或應用程式是否讀回結果。

  • 命令列擷取工具
    使用命令列擷取工具可快速擷取及播放圖形資訊,而不需使用 Visual Studio 或以程式設計方式擷取。 特別是,您可以使用命令列的擷取工具自動化,或在測試環境中使用。

  • 圖形診斷範例
    數個範例示範如何同時使用多個圖形診斷工具,診斷不同類型的呈現問題。

相關章節

標題

描述

Visual Studio 偵錯

介紹 Visual Studio 中的偵錯功能。

DirectX 圖形和遊戲 (英文)

提供討論 DirectX 圖形技術的文章。