ReadFile 與 WriteFile 等 API 呼叫所收集的資料,包括所存取檔案的名稱,以及存取本身的位移、大小與持續時間。也會記錄每次檔案存取的完整呼叫堆疊。如果您的遊戲將個別資產封裝成複合封存檔,只要提供對應檔案,PIX 就能顯示複合檔案中有哪些資產被存取。
收集檔案 IO 資料時,PIX 也會計算儲存裝置的頻寬與使用率計量。您可以在時間擷取的 Timeline、Range Details、Element Details 與 Metrics 檢視中檢視檔案 IO 資料。
如果您使用 DirectStorage API 存取檔案,請參閱分析 DirectStorage 效能,以了解如何使用 PIX 最佳化 DirectStorage 的使用。
擷取 Win32 檔案 IO 資料
若要擷取 Win32 檔案存取的資料,請在開始時間擷取之前選取 File accesses 核取方塊,如圖 1 所示。 圖 1. Options 窗格中的 File accesses 核取方塊。
DirectStorage API 的檔案存取。
分析時間擷取中的 Win32 檔案 IO 資料
PIX 會在 Timeline 檢視中為主機上的每個磁碟機建立一個 IO 通道。每次檔案存取都以彩色矩形表示,並顯示所存取檔案的名稱。矩形的左端代表存取的開始時間,長度代表存取的持續時間。工具提示會提供每次存取的詳細資料。 圖 2 顯示在名為 XrfsMap05 的磁碟機上多次讀取名為 ExampleFileData.dat 的檔案。數個表示存取 ExampleFileData.dat 的矩形在時間上重疊,因此會堆疊顯示。此視覺效果代表對該檔案的數次同時讀取。 圖 2. Timeline 檢視中的檔案 IO 通道。
在 2020 年 4 月版的 Microsoft Game Development Kit (GDK) 中,PIX 中顯示的檔案路徑不會解析為磁碟機代號。相反地,遊戲所存取的磁碟機會以前置詞 XrfsMap 識別。例如,在圖 2 中,標示為 XrfsMap05 的磁碟機是 G 磁碟機。基礎檔案路徑與磁碟機代號之間的對應將在未來版本中新增。


分析封存檔內發生的檔案存取
如果您的遊戲將個別資產封裝成複合封存檔,PIX 可以使用對應檔案顯示複合檔案中有哪些資產被存取。如需詳細資訊,請參閱分析封存檔內發生的檔案存取。儲存裝置頻寬與使用率計量
收集檔案 IO 資料時,PIX 會為主機上的每個儲存裝置計算磁碟機使用率與頻寬計數器。您可以在 Metrics 檢視 Selector 面板的 Derived System Metrics/Drive Utilization 節點下找到這些計數器。 圖 5. Metrics 檢視中的磁碟機使用率與頻寬計數器。

Win32 檔案 IO 通道設定
使用 Lane Selector 面板與 Lane Configurations 對話方塊,即可自訂 IO 通道的外觀 (圖 5)。選項包括重新排列通道、顯示或隱藏個別通道,以及調整色彩與標記高度。 圖 7. Lane Selector 面板與 Lane Configurations 對話方塊。
