共用方式為


擷取圖形資訊

您可以擷取圖形資訊以使用 Visual Studio 圖形診斷工具,診斷 DirectX 為主的應用程式的呈現問題。

您可以手動或以程式設計方式擷取圖形資訊。 若要手動擷取,請從 Visual Studio 執行應用程式,然後選擇 [擷取框架] 按鈕。 若要以程式設計方式擷取,請使用包含在 Visual Studio 中的擷取應用程式開發介面 (在應用程式的原始程式碼中),指定應擷取框架的時間。

您也可以防止從應用程式擷取圖形資訊。

手動擷取圖形資訊

使用圖形診斷工具列上的 [擷取框架] 按鈕,從執行中的 Direct3D 應用程式手動擷取圖形資訊框架。 若要擷取多個框架,請選擇 [多次] 按鈕。 在手動擷取框架之前,您必須先從 Visual Studio 啟動應用程式,並啟用圖形診斷。

Visual Studio 之後會使用擷取到的資訊重建擷取到的框架,讓您能夠使用圖形診斷工具詳細檢查。

開始使用啟用圖形診斷的應用程式

  • 在功能表列上,選擇 [偵錯]、[圖形]、[開始診斷]。 (鍵盤:按 Alt+F5)

圖形診斷攔截到應用程式之後,您可以視需要擷取許多框架的圖形資訊。 每次您啟始擷取作業時,都會記錄下一個框架期間發生的 Direct3D 事件,以及 Direct3D 物件與其所支援的資源。 錄製會在目前框架呈現後立即開始,而當您想要擷取的框架顯示時就對結束。

擷取圖形資訊框架

  • 在 [圖形診斷] 工具列上,選擇 [擷取框架] 按鈕。 圖形擷取按鈕圖示 (鍵盤:應用程式有焦點,請按 Print Screen)

結取第一個框架時,Visual Studio 會建立圖形記錄以保留資訊。 額外的擷取框架已加入至這個記錄檔中。 如果您在應用程式還在執行時關閉 Visual Studio 中的圖形記錄 (.vsglog) 文件,就無法擷取任何其他圖形框架資訊,但您可以使用 Visual Studio 偵錯工具繼續偵錯。 若要擷取詳細圖形資訊,請停止偵錯應用程式,然後使用 [開始診斷] 命令重新啟動應用程式。

以程式設計方式擷取圖形資訊

有時候依賴手動擷取收集有關您嘗試解析之呈現問題的資訊是不實際或不可能的。 例如,某些問題可能太過間斷而無法手動重現,但導致問題的程式條件可能是已知的;或者可能要收集因為不支援 Visual Studio (Windows RT 裝置就有這種情況) 而無法支援手動擷取之系統的圖形資訊。 在這些情節中,Visual Studio 包含可讓您以程式設計的方式呼叫的應用程式開發介面,用來將圖形資訊擷取到記錄檔中。 程式執行完畢之後,您可以開啟 Visual Studio 中的圖形記錄,調查記錄下來的問題。

如需如何啟用應用程式以程式設計方式擷取以及如何設定會執行它支援以程式設計方式擷取之電腦的詳細資訊,請參閱逐步解說:以程式設計方式擷取圖形資訊

防止擷取圖形資訊框架

在發行應用程式之前,您可以先停用圖形診斷和其他程式碼剖析工具,避免使用者知道應用程式如何使用 Direct3D 應用程式開發介面。 這項資訊有可能遭到不當利用。 如需詳細資訊,請參閱 HOW TO:在應用程式中停用圖形診斷

圖形記錄文件

「圖形記錄」(Graphics Log) 文件會儲存圖形診斷擷取工作階段期間收集的圖形資訊。 擷取工作階段可透過手動或程式設計方式啟始。 圖形記錄檔包含一個或多個擷取自執行中 DirectX 圖形應用程式的框架。 如果是每個擷取的框架,則為記錄框架期間所發生之所有 Direct3D 事件的清單。 這包括支援之前發生的 Direct3D 事件 (例如建立圖形裝置),以及支援著色器、模型、材質,以及其他圖形資源。 these frames can be recreated, at any time, step-by-step, and without external information or references.由於每個圖形記錄都是獨立的 (Self-Contained),因此沒有外部資訊或參考,也可以隨時逐步重新建立這些框架。 您可以共用圖形記錄檔,也可以在不是用來擷取資料或開發程式碼的電腦上檢查問題。 此外,即使模型和材質已在開發中變更,您還是可以檢查舊的圖形記錄檔。 當您使用圖形診斷診斷圖形問題時,您可以檢查所有的 Direct3D 應用程式開發介面呼叫及其相關狀態,緩衝區中的個別端點,甚至可以檢查繪製呼叫對於個別像素的影響。

注意事項注意事項

雖然圖形記錄會在內部擷取大部分相關資訊,還是需要其他資訊才能完整利用某些圖形診斷功能。例如,若要充分利用圖形呼叫堆疊功能,您也必須有程式資料庫 (.pdb) 檔案和應用程式的原始程式碼。若要偵錯 HLSL 著色器原始程式碼,您也必須有著色器原始程式碼 (如果著色器是使用 D3D11.1 著色器編譯器所編譯且已啟用偵錯資訊,則色器原始程式碼會在擷取時內嵌於圖形記錄中)。

注意事項注意事項

您可以擷取,修改及儲存圖形中的網狀結構和材質,方法是使用 Visual Studio 的圖形工具。不過,這些修改不會影響圖形記錄檔的內容。如需這些圖形工具的詳細資訊,請參閱 使用 3D 資產來打造遊戲和應用程式

請參閱

工作

HOW TO:在應用程式中停用圖形診斷

逐步解說:手動擷取圖形資訊

逐步解說:以程式設計方式擷取圖形資訊