跳转到内容

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 性能检查 — 在合并前检测回退
  • 每夜构建监控 — 对每日构建进行自动性能分析
  • 发布前质量门禁 — 阻止不满足性能标准的构建