跳到內容

CI 整合效能分析

CI 整合效能分析是一項從建置管線自動收集效能遙測資料並偵測回退的功能。

  1. CI 建置 — 建立遊戲的建置
  2. 自動測試 — 自動執行預先定義的情境
  3. 遙測收集 — SDK 將效能資料傳送至 Framedash
  4. 比較分析 — 自動與前次建置進行效能比較
  5. 警報 — 當偵測到超過閾值的回退時發出通知

初始化 SDK 時,從 CI 環境變數設定 build_id

TelemetrySDK.Initialize(
apiKey: Environment.GetEnvironmentVariable("FRAMEDASH_API_KEY"),
buildId: Environment.GetEnvironmentVariable("CI_COMMIT_SHA"));
if (auto* Subsystem = GetGameInstance()->GetSubsystem<UFramedashSubsystem>())
{
FString ApiKey = FPlatformMisc::GetEnvironmentVariable(TEXT("FRAMEDASH_API_KEY"));
FString BuildId = FPlatformMisc::GetEnvironmentVariable(TEXT("CI_COMMIT_SHA"));
// 傳遞空字串給 EndpointUrl 以使用預設值
Subsystem->InitializeTelemetry(ApiKey, TEXT(""), BuildId);
}

建立巡迴各地圖/區域的測試情境,以收集一致的資料。

在儀表板中設定閾值:

  • FPS 較前次建置下降 10% 以上
  • 影格時間超過 33ms
  • 記憶體使用量較前次建置增加 20% 以上
  • Pull Request 效能檢查 — 在合併前偵測回退
  • 每夜建置監控 — 每日自動進行建置效能分析
  • 發布前品質閘門 — 封鎖未達效能標準的建置