3.1 KiB
3.1 KiB
| id | ticket | title | status | created | resolved | decision | tags |
|---|---|---|---|---|---|---|---|
| AGD-0012 | perf-host-debug-overlay-isolation | Agenda - [PERF] Host Debug Overlay Isolation | open | 2026-03-27 |
Agenda - [PERF] Host Debug Overlay Isolation
Problema
O overlay de debug ainda usa o pipeline emulado de gfx e injeta custo visual no caminho normal do host.
Hoje o host formata strings por frame, desenha texto via gfx e faz present() extra para sobrepor telemetria.
Dor
- debug ligado altera custo do render path que deveria estar sendo medido.
- overlay de desenvolvimento distorce a leitura de performance do console.
- handheld barato nao deveria pagar composicao de HUD tecnico no mesmo pipeline do jogo.
Hotspots Atuais
Alvo da Discussao
Isolar o overlay de debug do custo medido do console sem perder utilidade para desenvolvimento.
O Que Precisa Ser Definido
-
Lugar de composicao. Decidir se o overlay:
- continua no
gfxemulado; - sobe para camada host nativa;
- vira surface separada de debug.
- continua no
-
Politica de strings/glyphs. Definir se texto e reconstruido por frame ou cacheado.
-
Custo em modo debug. Delimitar qual overhead e aceitavel quando overlay estiver ativo.
-
Efeito na telemetria. Fechar se a telemetria deve incluir ou excluir explicitamente o custo do overlay.
Open Questions de Arquitetura
- O overlay precisa ser representativo do hardware final ou apenas ferramenta de desktop? Não, como é HUD técnico, pode e deve ser renderizado pelo Host nativo para melhor legibilidade.
- Vale um modo "perf puro" onde overlay nunca toca no framebuffer do console?
Sim. O isolamento garante que o
gfxemulado esteja 100% livre para o jogo durante a medição. - O host deve oferecer toggles separados para stats, logs e overlay visual?
Sim. O
HostRunnerdeve expor controles granulares viainspection_active. - Como melhorar a legibilidade e estética (Glyphs/Transparência)? Migrar a renderização do HUD para o Host Nativo (Winit/Pixels), permitindo o uso de fontes TrueType (monospaced) nítidas e Alpha Blending real para transparência no fundo do painel.
Dependencias
../specs/10-debug-inspection-and-profiling.md../specs/11-portability-and-cross-platform-execution.md
Sugestao / Recomendacao
- Migração para Camada Host Nativa: Renderizar o HUD de debug em uma surface separada ou via pipeline nativo do Host (depois do upscaling do framebuffer do console).
- Fontes TrueType (Mono): Substituir os glyphs bitmapped rudimentares por uma fonte nativa de alta qualidade e nítida.
- Composição Alpha: Permitir fundo semi-transparente para o overlay para não bloquear a visão do jogo.
- Acionamento Explícito: Host deve gerenciar
inspection_active: trueno runtime apenas quando o HUD ou Debugger estiverem ativos.