

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 分析 Unreal Engine 效能
<a name="profiling-ue"></a>

 在本節中，了解如何分析 Unreal Engine 遊戲或應用程式效能。這可協助您識別要最佳化的區域，從而在 Amazon GameLift Streams 中更順暢地串流。

 您可以使用 Unreal Engine 的主控台及其內建的 stat 命令，詳細了解遊戲的效能。您可以在不可運送的組建或**編輯器**中存取 主控台。不可運送建置是指使用偵錯或開發組態建置的專案。

**存取 主控台**

 在不可運送組建和在[編輯器中播放](https://dev.epicgames.com/documentation/en-us/unreal-engine/playing-and-simulating-in-unreal-engine#pieconsole)模式中，按波狀符號 (**\~**) 鍵開啟主控台。按兩下波狀鍵以展開主控台。

以下是使用 主控台的一些秘訣：
+ 輸入關鍵字以列出包含該關鍵字的所有可能命令。使用方向鍵捲動清單。
+ 使用方向鍵或 Page up 和 Page down 鍵來捲動歷史記錄。
+ 日誌會儲存在專案`Saved/Logs`目錄中的`.txt`檔案中

**描述遊戲的效能**

1.  首先執行 `stat fps`和 `stat unit`命令。這將為您提供遊戲在效能方面遇到困難的概觀。
   + `stat fps`：顯示目前的每秒影格數。
   +  `stat unit`：將影格分解為數個子區段。
     +  **影格**：從影格模擬開始到影格呈現在螢幕上時的總時鐘時間。
     +  **遊戲**：每個影格的遊戲模擬執行緒所花費的總 CPU 時間。
     +  **繪製**：轉譯執行緒將場景轉譯為 GPU 命令並將其提交至 GPU 的總 CPU 時間。
     +  **GPU**：GPU 處理所有命令的總時間。
     +  **繪製**：為影格提交的繪製總數。
     +  **Prims**：繪製的三角形總數。

1.  在遊戲中玩耍，並識別效能低的區域，以遊戲、******繪圖**或 **GPU** 的 FPS 減少和時間增加表示。

1.  執行 `stat game`以查看如何為各種遊戲群組花費時間。

1.  針對 AI、動畫、物理、遊戲、指令碼等特定遊戲因素，精簡統計資料。以下是幾個範例：
   + `stat ai`：運算 AI 行為的時間。
   + `stat anim`：計算貼皮網格的時間。
   + `stat physics`：運算物理模擬的時間。

1.  執行 `stat drawcount`以查看哪些轉譯區域產生最多的繪圖。此清單顯示發出繪製的轉譯傳遞，以及每個影格發出的繪製數量。您可以在下一個步驟中分析 GPU 統計資料，以取得更多資訊。

1.  執行 `stat gpu`以查看哪些轉譯類型耗用最多 GPU 時間。

1.  將渲染類型精簡為各種群組，例如光線、陰影、管腔 （光線）、頭髮、後置處理等。以下是幾個常見的範例：
   +  `stat lightrendering`：GPU 轉譯光線和陰影的時間。
   +  `stat shadowrendering`：更新各種陰影的 GPU 時間。
   +  `stat scenerendering`：渲染場景的 GPU 時間。

 本節僅涵蓋一部分的可用命令。根據您的遊戲功能，查看資產串流、虛擬紋理、CPU 任務工作負載分佈、執行緒、音效、粒子等領域的統計資料。如需詳細資訊，請參閱 [Stat 命令](https://dev.epicgames.com/documentation/en-us/unreal-engine/stat-commands-in-unreal-engine)。