> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 分析遊戲的初始化與啟動程式碼

> 分析遊戲的初始化與啟動程式碼

遊戲的啟動順序通常涉及大量的記憶體配置與檔案 IO 作業，以及其他初始化工作。從遊戲啟動時就開始分析的能力，可協助您調整啟動程式碼，並確認遊戲已準備好進行遊玩。[時間擷取](/zh-TW/tools/tools-console/pix/new-timing-captures)支援「從啟動開始擷取」，但 [GPU 擷取](/zh-TW/tools/tools-console/pix/gpu/gpu-performance)不支援。開始這些早期擷取時，Direct3D 裝置尚未初始化，因此無法支援 GPU 擷取。

<Note>
  建置遊戲時必須提供 USE\_PIX 前置處理器指示詞，才能啟用從啟動開始擷取。
</Note>

您可以使用時間擷取選項窗格中的 **Capture Title Startup** 核取方塊與相關的遊戲清單，分析遊戲的啟動程式碼。選取 **Capture Title Startup** 會在遊戲清單中填入主機上已安裝之遊戲的名稱。此外也會提供每個遊戲之可執行檔清單的下拉式清單，以及用於輸入命令列參數的編輯方塊。

<img src="https://mintcdn.com/microsoft-4404708b/stYRJgFi22xot4tO/images/gdk/tools/pix-capture-from-launch-ui1.png?fit=max&auto=format&n=stYRJgFi22xot4tO&q=85&s=2ddc9b9c656cf152f72ccc709eaa3e8c" alt="選取 Capture Title Start 時已安裝的遊戲清單" width="436" height="352" data-path="images/gdk/tools/pix-capture-from-launch-ui1.png" />

選取遊戲並輸入任何命令參數之後，按一下 **Start Timing Capture** 按鈕開始擷取。

選取 **Stop Timing Capture** 按鈕之後，PIX 會如往常般開啟擷取文件。時間擷取中的時間軸會在擷取早期顯示一段沒有活動的期間。資料會從遊戲繼續執行的時間點開始顯示。下列螢幕擷取畫面顯示從啟動開始擷取之遊戲的時間擷取。在擷取開始時的閒置期間之後，時間軸會填入遊戲啟動順序的資料。在此螢幕擷取畫面中，前幾個取樣來自遊戲的 `WinMain` 函式。

<img src="https://mintcdn.com/microsoft-4404708b/stYRJgFi22xot4tO/images/gdk/tools/pix-capture-from-launch.png?fit=max&auto=format&n=stYRJgFi22xot4tO&q=85&s=fff147277fd6fb388bb271215705a38a" alt="顯示從啟動開始擷取之遊戲的時間擷取螢幕擷取畫面" width="810" height="731" data-path="images/gdk/tools/pix-capture-from-launch.png" />

## 使用 xbApp deferExecution 從啟動開始擷取

直接從 PIX 擷取遊戲啟動順序的功能，是在 2022 年 3 月版的 Microsoft Game Development Kit (GDK) 中新增的。如果您使用的是較舊版本的 Microsoft Game Development Kit (GDK)，可以結合使用 PIX 與 [xbapp](/zh-TW/tools/tools-console/commandlinetools/xbapp) 命令列工具來支援從啟動開始擷取。

使用 [xbapp](/zh-TW/tools/tools-console/commandlinetools/xbapp) 從啟動開始擷取涉及下列步驟。

1. 使用 [xbapp](/zh-TW/tools/tools-console/commandlinetools/xbapp#xbapp_launch) 以延後執行狀態啟動遊戲。
2. 切換到 PIX，然後開始擷取。
3. 使用 [xbapp](/zh-TW/tools/tools-console/commandlinetools/xbapp#xbapp_continueexecution) 繼續執行遊戲。
4. 視需要停止 PIX 擷取。您的擷取會如往常般在 PIX 中開啟。

`xbapp` `launch` 命令包含一個名為 `/deferExecution` 的選項，可以延後執行的方式啟動遊戲。以此方式啟動遊戲時，會建立處理序，但主要執行緒會以暫停狀態建立。以下是以延後執行方式啟動遊戲的範例。

```text theme={null}
xbapp launch /deferExecution xD:\Drives\Development\SimpleMSAA.exe
```

以延後執行方式啟動遊戲之後，切換到 PIX 並如往常般開始擷取。PIX 會附加至遊戲，並在開始執行時收集資料。

使用 `xbapp` `continueExecution` 動詞開始執行遊戲，如下列範例所示。

```text theme={null}
xbapp continueExecution
```

## 另請參閱

[xbapp](/zh-TW/tools/tools-console/commandlinetools/xbapp)

[PIX](/zh-TW/tools/tools-console/pix/pix)


## Related topics

- [適用於 GDK 遊戲的 XBOX 與 Windows 版 PIX](/zh-TW/tools/tools-console/pix/index.md)
- [偵測網路初始化狀態](/zh-TW/build/console-features/networking/initialization-connectivity-networking.md)
- [NDA 主題目錄 - Microsoft Learn 線上連結](/zh-TW/nda/nda-topic-directory.md)
- [使用 GDK 工具安裝與啟動 PC 遊戲](/zh-TW/tools/tools-pc/launching-on-pc.md)
- [適用於 XBOX GDK 的 PC 開發人員工具](/zh-TW/tools/tools-pc/index.md)
