[Sumário](../table-of-contens.md) | [Adiante](chapter-2.md) > # ⏱️ **Modelo de Tempo e Ciclos** # 1. Visão Geral PROMETEU é um sistema **orientado a tempo**. Nada acontece “instantaneamente”. Toda ação consome **tempo mensurável**, expresso em **ciclos de execução**. Este capítulo define: - o **clock base** do sistema - o conceito de **ciclo PROMETEU** - como o tempo é distribuído ao longo dos frames - como o **CAP (Execution Cap)** se relaciona com esse modelo --- ## 2. Clock Base do Sistema PROMETEU opera com um **clock fixo de 60 Hz**. Isso significa: - 60 iterações do loop principal por segundo - cada iteração corresponde a **um frame** - o clock é **determinístico e estável**, independente da plataforma > O clock define o ritmo da máquina, não a quantidade de trabalho obrigatório por frame. > --- ## 3. O Frame PROMETEU Um **frame PROMETEU** representa uma unidade completa de execução. Cada frame executa, conceitualmente, as seguintes etapas: ``` FRAME N ────────────── INPUT UPDATE DRAW AUDIO SYNC ────────────── ``` O sistema garante: - ordem fixa - repetição previsível - ausência de frames “fantasmas” --- ## 4. Ciclos PROMETEU ### 4.1 Definição Um **ciclo PROMETEU** é a menor unidade abstrata de tempo do sistema. - cada instrução da VM consome um número fixo de ciclos - chamadas de periféricos também possuem custo - o custo é **documentado e estável** Ciclos são: - **contáveis** - **comparáveis** - **independentes de hardware real** --- ### 4.2 Por que ciclos, e não milissegundos? PROMETEU não mede tempo em milissegundos porque: - milissegundos variam entre plataformas - clocks reais diferem - jitter e latência escondem custo real Ciclos permitem afirmar: > “Este programa é mais caro que aquele, > > > independentemente de onde ele rode.” > --- ## 5. Orçamento por Frame Cada frame possui um **orçamento máximo de ciclos**. Esse orçamento: - é resetado a cada frame - não acumula ciclos não utilizados - representa a capacidade da “CPU virtual” ### Exemplo conceitual ``` Frame Budget:10,000cycles Used: -Update logic:4,200 -Draw calls:3,100 -Audio:900 Remaining: 1,800cycles ``` --- ## 6. Separação entre Clock e Trabalho PROMETEU **não exige** que toda lógica rode a cada frame. O programador é **explicitamente encorajado** a distribuir trabalho no tempo. ### Exemplos comuns - lógica de inimigos a cada 2 frames (30 Hz) - pathfinding a cada 4 frames (15 Hz) - animações independentes da AI - timers baseados em contagem de frames Isso reflete práticas reais de: - consoles clássicos - sistemas embarcados - firmware de microcontroladores > Nem tudo precisa acontecer agora. > --- ## 7. Distribuição Temporal como Arquitetura PROMETEU trata **distribuição de trabalho no tempo** como uma decisão arquitetural. Isso significa que: - código que roda todo frame é mais caro - código distribuído é mais eficiente - otimização é, antes de tudo, **organização temporal** PROMETEU ensina: > desempenho não vem só de “menos código”, > > > mas de **quando** o código roda. > --- ## 8. Execution CAP (Orçamento Contextual) ### 8.1 O que é o CAP O **CAP** define um conjunto de limites técnicos associados a um **contexto específico**, como: - Game Jams - avaliações acadêmicas - desafios técnicos O CAP pode definir: - orçamento máximo de ciclos por frame - limite de memória - limites de chamadas de periféricos --- ### 8.2 CAP não bloqueia execução Regras fundamentais: - o jogo **sempre roda** - o jogo **sempre pode ser empacotado** - o jogo **sempre pode ser jogado** O CAP **nunca impede** execução. --- ### 8.3 CAP gera evidência, não punição Quando um CAP está ativo, PROMETEU: - mede execução - registra picos - identifica gargalos - gera **relatório de certificação** Esse relatório: - não bloqueia o jogo - não invalida a entrega - **documenta conformidade ou não conformidade** --- ## 9. Certificação Baseada em Tempo A certificação PROMETEU analisa: - uso médio de ciclos por frame - picos máximos - frames problemáticos - distribuição de custo Exemplo: ``` Target CAP:PROMETEU-LITE Frame Budget:5,000cycles Frame 18231: Used:5,612cycles❌ Primary cause: enemy.updateAI():1,012cycles ``` Essa certificação acompanha o jogo como **artefato técnico**. --- ## 10. Implicações Pedagógicas O modelo de tempo e ciclos permite ensinar: - planejamento de execução - arquitetura orientada a tempo - trade-offs técnicos - leitura de perfis reais [Sumário](../table-of-contens.md) | Próximo: [Next](chapter-2.md) >