使用 Unity 工具和 API 提升效能

Unity 提供各種與效能相關的工具和 API。使用這些工具評估及監控效能指標、指定螢幕更新率,以及逐一分析場景的影格算繪方式。

評估及監控成效指標

Unity OpenXR:Android XR 套件提供完整的效能資料,可用於監控及最佳化應用程式。

您可以透過成效指標 API 存取這些指標。

優點

  • 即時監控記憶體用量、CPU 和 GPU 效能。
  • 合成器和執行階段層的系統統計資料。
  • 評估最佳化變更的影響。

為獲得最佳結果,請在開發應用程式及調整效能時,主動監控下列指標:

AndroidXRPerformanceMetrics androidXRPerformanceMetrics = OpenXRSettings.Instance.GetFeature<AndroidXRPerformanceMetrics>();

string values = "";

if (m_Display != null && androidXRPerformanceMetrics != null && androidXRPerformanceMetrics.supportedMetricPaths != null)
  foreach (var metric in androidXRPerformanceMetrics.supportedMetricPaths)
  {
    float stat;
    XRStats.TryGetStat(m_Display, metric, out stat);

    values += string.Format("{0}: {1:F2}\n", metric, stat);
  }

指定螢幕刷新率

應用程式可透過「螢幕更新率」在執行階段要求較高或較低的影格速率,系統會盡量滿足這類要求。

優點

  • 根據場景複雜度調整重新整理頻率。
  • 在較暗的場景中降低耗電量。
  • 根據應用程式需求動態調整。

啟用這項功能

使用 Unity API 存取 XR_FB_display_refresh_rate 擴充功能。

你可以要求 72 FPS、90 FPS 或 120 FPS 等畫面更新率,如果硬體可以處理且熱狀況允許,系統就會切換至你要求的更新率。

啟用 Unity 的影格偵錯工具

影格偵錯工具是 Unity 的內建工具,可逐一分析場景的影格算繪方式。這項工具會顯示繪圖呼叫的順序,並讓您逐步瞭解轉譯行為。

優點

  • 找出算繪瓶頸和非預期的繪圖呼叫。
  • 確認 SRP Batcher 正常運作 (尋找「RenderLoopNewBatcher」項目)。
  • 檢查 GPU Resident Drawer 批次處理 (尋找「Hybrid Batch Group」項目)。
  • 瞭解轉譯作業的順序。

啟用這項功能

  1. 在 Unity 主選單中,依序點選「Window」>「Analysis」>「Frame Debugger」
  2. 按一下「啟用」,開始擷取影格資料。
  3. 逐步執行繪圖呼叫,查看要算繪的內容和時間。