Skip to content

Latest commit

 

History

History
86 lines (66 loc) · 5.95 KB

File metadata and controls

86 lines (66 loc) · 5.95 KB

SGG PerfMeter

Diagnóstico ligero en runtime y profiling legible por agentes para Unity 6 URP+HDRP (FPS meter).

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

Instalación | Inicio rápido | Flujos de trabajo | API | MCP | Comparación | Limitaciones | Solución de problemas

SGG PerfMeter landing screenshot

SGG PerfMeter detecta cuellos de botella de frames, compara cambios de rendimiento, graba sesiones reproducibles y ofrece datos de profiling estructurados para herramientas y AI agents.

Por Qué Ayuda

  • Ver contexto de cuellos de botella directamente durante el juego.
  • Cambiar entre presets, gráficos, barras de métricas, layouts compactos y filas de métricas personalizadas.
  • Grabar sesiones de profiling reproducibles con warm-up, alcance por escena, resumen de peores frames y exportación JSON/CSV.
  • Coordinar RenderDoc/PIX mediante la ruta genérica de Unity o usar opcionalmente el bridge RenderDoc distribuido por separado y verificado con SHA-256 para artefactos .rdc autenticados en el Editor Windows x64 con D3D11, D3D12 o Vulkan. El paquete UPM sigue sin binarios y no instala RenderDoc.
  • Usar alertas, logs estructurados, callbacks y cooldowns de advertencias del Editor sin vigilar el overlay de forma constante.
  • Entregar datos estructurados a herramientas y agentes para comparaciones, pruebas A/B y búsqueda de hotspots.

Qué Se Mide

  • Estado en runtime de Unity 6000.4+ / URP 17.4+ Render Graph y HDRP 17.4+ Custom Pass.
  • Timing CPU/GPU de FrameTimingManager: CPU frame, main thread, render thread, present wait y GPU frame time cuando está disponible.
  • Contadores de render de ProfilerRecorder: draw calls, SetPass, batches, vertices, SRP Batcher, BRG/GRD, uploads, memory y GPU memory cuando están disponibles.
  • Clasificación de cuellos de botella para GPU, CPU main, CPU render, present/VSync, balanced o unknown.
  • Opt-in overdraw measurement y overdraw heatmap visual mediante URP Render Graph; en HDRP overdraw/heatmap no tienen soporte, pero los core diagnostics siguen disponibles.
  • Snapshots de device, URP/HDRP camera, render integration, status, metrics, alerts, sessions y custom metrics para código y automatización MCP.

Telemetría de Plataforma Opcional

PerfMeter puede recopilar señales opcionales de thermal y Adaptive Performance mediante un provider. La assembly core no tiene una dependencia obligatoria de com.unity.adaptiveperformance; la assembly opcional SGG.PerfMeter.AdaptivePerformance se activa para Unity 6000.4+ cuando com.unity.adaptiveperformance es 5.1.0+.

  • API del provider: PerformanceMeter.RegisterPlatformTelemetryProvider(...), UnregisterPlatformTelemetryProvider(...) y GetPlatformTelemetry() permiten como máximo un provider activo y devuelven el PerfMeterPlatformTelemetrySnapshot inmutable con ID/versión del provider, tiempos de sample/cambio, thermal warning, temperature level/trend, CPU/GPU performance levels, adaptive bottleneck y disponibilidad por campo. Se rechaza un segundo provider diferente.
  • Recopilación y exportación: el core usa una cadencia limitada de 0,25 segundos y un snapshot en caché con metadatos de last attempt/result, antigüedad del last success y freshness. Un capture boundary fuerza un intento sin ocultar Unavailable. El JSON/CSV de sesión y los capture samples conservan el snapshot y la procedencia del provider. El comando MCP perfmeter.platform.telemetry expone el snapshot estructurado actual.
  • Profiler y alertas: SGG.PerfMeter.Thermal.Sample y SGG.PerfMeter.Thermal.Available exponen el marker de recopilación térmica y el counter de disponibilidad. La alerta predeterminada thermal.throttling usa la métrica ThermalWarningLevel cuando está disponible un nivel de throttling inminente o activo.
  • La falta de disponibilidad es explícita: los providers y campos no compatibles permanecen unavailable; JSON serializa los valores numéricos no disponibles como null y CSV usa campos vacíos, con flags de disponibilidad en lugar de ceros ficticios. La validación del paquete Adaptive Performance real y de dispositivos objetivo sigue siendo un gate de la release matrix/release candidate; este README no afirma ningún resultado de dispositivo.

Inicio Rápido

  1. Instala el paquete Unity desde npm registry o Git UPM.
  2. Abre SGG/Perfmeter/Setup en Unity.
  3. Ejecuta la configuración recomendada, entra en Play Mode y comprueba que aparece el overlay.
{
  "scopedRegistries": [
    {
      "name": "npmjs",
      "url": "https://registry.npmjs.org",
      "scopes": [
        "com.sungeargames"
      ]
    }
  ],
  "dependencies": {
    "com.sungeargames.perfmeter": "2026.8.19-1"
  }
}

Documentación

Licencia

El paquete está licenciado bajo Stinger Royalty-Free EULA 1.0.