此資訊截至 2022 年 4 月為最新。之後已有數項功能變更或更新。
PIX Checklist 簡介
PIX Checklist 針對 GPU 效能與正確性提供自動化建議。PIX 擷取的分析資料可用來分析 GPU、CPU、記憶體及檔案 IO 效能問題。PIX Checklist 隨附於 2021 年 4 月版的 Microsoft Game Development Kit with XBOX Extensions (GDKX),並在後續版本中持續改善。如果您仍在使用 2021 年 4 月版的 GDK,請立即更新。 PIX Checklist 僅適用於 XBOX Series X|S。之所以未納入 XBOX One X,是因為這會占用 XBOX Series X|S 的工程時間。不過,兩個平台的效能建議通常是相同的。自動化的優點
自動化可以找出下列問題:- 您沒有檢查的問題
- 多次發生的小問題
- 需要了解整個擷取內容才能發現的問題
示範一:找到並瀏覽 PIX Checklist
本節說明 Checklist 檢視。 圖 1. PIX 概觀視窗。




自動化嘗試失敗的原因
為了做對的事,我們需要您了解先前的嘗試出了什麼問題。最明顯的就是誤判 (false positive)。如果檢查清單告訴您做錯了某件事,但實際上您並沒有做錯,那就是必須修正的錯誤。 不過,有時一些細微的問題並不是誤判,但與誤判有關。這些是真陽性 (true positive) 的案例:檢查清單是正確的,確實有失敗,但因為某些原因,您無法或不會修正它。我們將這類問題稱為 _Yes but_ (「是,但是…」)。 範例包括:- Checklist 指出 Prefer GPU Optimal Memory for Graphics Resources。是,但是:您的 GPU 最佳記憶體已用盡,而 PIX Checklist 卻要您修正不可能的事。
- Checklist 指出 Avoid consecutive calls to ResourceBarrier。是,但是:只出現少數幾次。不值得修正,因為無法省下任何實質效益。
- Checklist 指出 Use the 2nd hardware display plane。是,但是:您不想為 PC、XBOX One X 與 XBOX Series X|S 分支程式碼。
示範二:篩選 Checklist 檢視
本節說明如何在 Checklist 檢視中進行篩選。 圖 6. 在 Checklist 檢視中依通過/失敗狀態進行 PIX 篩選。




示範三:不必要的深度解壓縮
本節說明 Use Texture Compatibility on Compressed Resources 警告,並以不必要的深度解壓縮作為範例。 圖 11. 顯示 Use Texture Compatibility on Compressed Resources 警告的 PIX Checklist 檢視。
選取該連結會帶您前往 Events 檢視中的 ResourceBarrier 呼叫,如圖 12 所示。Depth Decompress 位於 ResourceBarrier 呼叫下方。不過,在 XBOX Series X|S 上有一項紋理相容性功能,可讓您略過 Depth Decompress,直接原生讀取壓縮格式。深度解壓縮通常不會出現在這個位置。您不會預期看到 Depth Decompress,而它耗費了 0.116 毫秒。檢查清單會告訴您哪裡發生了違規。
圖 13. PIX API Objects 檢視與紋理相容性旗標。
進一步調查會帶您前往 API Objects 檢視及所示的物件。圖 13 確認物件 #35073 是以深度模板緩衝區建立的,但並未指定紋理相容性。
這個警告在兩款樣本遊戲中都出現了。對其中一款而言,這是很好的發現。另一款則表示「是,但是」:他們已經嘗試過,而且影響不大。因此,即使在其他地方損失了效能,忽略 Depth Decompress 也是合理的。
示範四:差異色彩壓縮 (DCC)
本節說明 Use Delta Color Compression for Pre-cleared Color Textures 警告。 圖 14. PIX 差異色彩壓縮。


示範五:未繫結的轉譯目標
本節說明 Remove Unbound RTVs from Shader/PSO 警告及未繫結的轉譯目標。 圖 17. PIX 未繫結的轉譯目標。



- 匯出不需要的內容,以及相關的效能成本。
- 計算匯出值的運算是浪費的成本。
- 它只短暫發生。
- 修正它需要新的 PS,這會增加記憶體用量與複雜度。
示範六:未使用的 VS 匯出
本節說明 The VS Exports Only Parameters which are Needed by the PS 警告。 圖 21. PIX 未使用的 VS 匯出警告。
圖 22 顯示 Pipeline 檢視中的 繪製呼叫。
選取該連結會帶您前往 Pipeline 檢視中的繪製呼叫。
圖 23. PIX 未繫結的像素著色器。

- 匯出不需要匯出的參數會占用參數快取的空間。
- 匯出的參數是可能相當冗長的計算結果,而這些計算也被浪費了。
示範七:幾乎空白的 wave64
本節說明 Use Wave32 for threadgroups of size 32 or less 警告及幾乎空白的 wave64。此警告之後已擴大涵蓋更多情況,名稱也隨之變更。


總結
PIX Checklist 正在積極開發中
PIX 小組正在積極開發 PIX Checklist。您的意見回饋非常重要。ATG 小組在進行效能審查時會使用 PIX Checklist,留意誤判並了解問題所在。PIX 小組仍持續更新 Checklist,並持續提出新的警告。我們鼓勵您繼續使用它。我們對您的請求
PIX Checklist 的開發會受到您意見回饋的影響。- 在您的擷取內容上執行 PIX Checklist。
- 透過 PIX 意見回饋按鈕、論壇或您的 Microsoft 聯絡人,將有幫助與沒有幫助的功能意見回饋給我們。開發人員最常在出問題時提供意見回饋。PIX 小組也需要知道哪些功能運作良好,才能了解要繼續投入哪些工作。
- 要求新的測試。現在您已經了解可以進行哪些類型的測試,請將您對其他實用測試的想法提供給我們。
未來計畫
以下是 PIX 小組考慮在未來推出的一些功能。- 使用者可設定的警告閾值:例如,某個警告可能只有在出現 100 次時才有幫助。不過,其他開發人員可能只需要出現五次就發出警告的閾值。
- 將 Checklist 檢視擴展到其他類型的擷取:例如,當您在一定數量的畫面中低於目標畫面播放速率時,偵測到此情況的 System Monitor 警告。這會建立 GPU 擷取。
- Timing Capture Checklist 檢視:它會提供指出 PIX Timing Capture 中失敗項目的警告。
後續步驟
若要檢閱與本概觀相關的簡報資料資訊,請從 XBOX Developer Download Secure Data Storage (SDS) 下載下列檔案。- 投影片:Xfest 2022 Graphics Track PowerPoints (Xfest2022GfxPPTs.ZIP) 中的 GR01_A Tour of the New PIX Checklist - GPU Performance Made Easy.pptx
- 視訊簡報:Xfest 2022 Graphics Track Videos (Xfest2022GfxVids.ZIP) 中的 GR01.mp4
下載 Microsoft PowerPoint 簡報與視訊
- 前往 Game Development Kit (GDK) 下載。
- 在 Select file type 下,選取 Conference Materials,然後選取 Confirm。
- 在 Select build/version number 下,選擇下列其中一個圖形簡報。
- Xfest 2022 Graphics Track PowerPoints
- Xfest 2022 Graphics Track Videos
- 選取 Download Now,然後等待 .zip 檔案下載完成。
- 前往您本機的「下載」資料夾,然後從壓縮資料夾中解壓縮 (擷取) 檔案。
