Skip to content

Latest commit

 

History

History
86 lines (66 loc) · 6.03 KB

File metadata and controls

86 lines (66 loc) · 6.03 KB

SGG PerfMeter

Diagnostic d'execution leger et profilage lisible par les agents pour Unity 6 URP+HDRP (FPS meter).

English | Русский | Deutsch | Español | Français | Italiano | 日本語 | 한국어 | Português (Brasil) | 简体中文

Installation | Demarrage rapide | Workflows | API | MCP | Comparaison | Limitations | Depannage

SGG PerfMeter landing screenshot

SGG PerfMeter detecte les goulets d'etranglement des frames, compare les changements de performance, enregistre des sessions reproductibles et fournit des donnees de profilage structurees aux outils et aux agents IA.

Pourquoi L'utiliser

  • Voir le contexte des goulets d'etranglement directement pendant le jeu.
  • Basculer entre presets, graphes, barres de metriques, dispositions compactes et lignes de metriques personnalisees.
  • Enregistrer des sessions de profilage reproductibles avec warm-up, contexte de scene, resume des pires frames et export JSON/CSV.
  • Coordonner RenderDoc/PIX via le chemin generique Unity ou utiliser en option le bridge RenderDoc distribue separement et verifie par SHA-256 pour des artefacts .rdc authentifies dans l'Editor Windows x64 avec D3D11, D3D12 ou Vulkan. Le package UPM reste sans binaire et n'installe pas RenderDoc.
  • Utiliser des alertes, logs structures, callbacks et cooldowns d'avertissements Editor sans surveiller l'overlay en continu.
  • Fournir aux outils et agents des donnees structurees pour les comparaisons, tests A/B et recherches de points chauds.

Ce Qui Est Mesure

  • Etat Unity 6000.4+ / URP 17.4+ Render Graph et HDRP 17.4+ Custom Pass a l'execution.
  • Timing CPU/GPU via FrameTimingManager: CPU frame, main thread, render thread, present wait et GPU frame time quand disponible.
  • Compteurs de rendu ProfilerRecorder: draw calls, SetPass, batches, vertices, SRP Batcher, BRG/GRD, uploads, memory et GPU memory quand disponible.
  • Classification de goulet d'etranglement pour GPU, CPU main, CPU render, present/VSync, balanced ou unknown.
  • Mesure d'overdraw opt-in et overdraw heatmap visuelle via URP Render Graph; en HDRP overdraw/heatmap ne sont pas pris en charge, mais les core diagnostics restent disponibles.
  • Snapshots device, URP/HDRP camera, render integration, status, metrics, alerts, sessions et custom metrics pour le code et l'automatisation MCP.

Telemetrie de plateforme optionnelle

PerfMeter peut collecter des signaux thermiques et Adaptive Performance optionnels via un provider. L'assembly core n'a aucune dependance forte a com.unity.adaptiveperformance; l'assembly optionnelle SGG.PerfMeter.AdaptivePerformance s'active pour Unity 6000.4+ lorsque com.unity.adaptiveperformance est en version 5.1.0+.

  • API du provider: PerformanceMeter.RegisterPlatformTelemetryProvider(...), UnregisterPlatformTelemetryProvider(...) et GetPlatformTelemetry() gerent au plus un provider actif et renvoient le PerfMeterPlatformTelemetrySnapshot immuable avec l'ID/version du provider, les temps de sample/changement, l'alerte thermique, le niveau/tendance de temperature, les niveaux de performance CPU/GPU, le bottleneck adaptatif et la disponibilite de chaque champ. Un second provider different est refuse.
  • Collecte et exports: le core utilise une cadence bornee de 0,25 seconde et un snapshot en cache avec les metadonnees last attempt/result, l'age du last success et la freshness. Une capture boundary force une tentative sans masquer Unavailable. Le JSON/CSV de session et les capture samples preservent le snapshot et la provenance du provider. La commande MCP perfmeter.platform.telemetry expose le snapshot structure actuel.
  • Profiler et alertes: SGG.PerfMeter.Thermal.Sample et SGG.PerfMeter.Thermal.Available exposent le marker de collecte thermique et le counter de disponibilite. L'alerte par defaut thermal.throttling utilise la metrique ThermalWarningLevel lorsqu'un niveau de throttling imminent ou actif est disponible.
  • L'indisponibilite est explicite: les providers et champs non pris en charge restent unavailable; le JSON serialise les valeurs numeriques indisponibles en null et le CSV utilise des champs vides, avec des flags de disponibilite plutot que des zeros artificiels. La validation du package Adaptive Performance reel et des appareils cibles reste un gate de la release matrix/release candidate; ce README ne revendique aucun resultat sur appareil.

Demarrage Rapide

  1. Installez le package Unity depuis npm registry ou Git UPM.
  2. Ouvrez SGG/Perfmeter/Setup dans Unity.
  3. Executez la configuration recommandee, lancez Play Mode et verifiez que l'overlay apparait.
{
  "scopedRegistries": [
    {
      "name": "npmjs",
      "url": "https://registry.npmjs.org",
      "scopes": [
        "com.sungeargames"
      ]
    }
  ],
  "dependencies": {
    "com.sungeargames.perfmeter": "2026.8.19-1"
  }
}

Documentation

Licence

Le package est sous licence Stinger Royalty-Free EULA 1.0.