Em resumo: "otimizar no fim" é como projetos morrem na certificação. Um orçamento de performance: tetos de tempo de frame e memória acordados antes de o conteúdo ser construído: transforma a otimização de uma crise numa checagem de rotina. Orce milissegundos em vez de polígonos, divida o frame como uma torta, meça em três câmeras fixas, torne os números visíveis onde o trabalho acontece, e puxe as alavancas em ordem de custo-benefício quando uma cena fica vermelha. Este artigo dá o sistema inteiro, com números iniciais que você pode adaptar.
A vista é sempre a conta: distância de desenho máxima, cada sistema na tela ao mesmo tempo, cada anel de LOD ativo. Orce para esta vista: o corredor se vira sozinho.
Orce tempo de frame, não polígonos
Orçamentos de polígonos são uma relíquia. GPUs modernas engasgam em draw calls, overdraw, sombras e largura de banda de memória muito antes dos triângulos crus. Orce o que você de fato mede: milissegundos por sistema, por vista.
Um jogo a 60 fps possui 16,6 ms por frame; a 30 fps, 33,3 ms. Esse é o orçamento inteiro, compartilhado por tudo: gameplay, física, IA, VFX, UI e ambiente. A fatia do ambiente é uma negociação com renderização e gameplay, mas precisa ser um número, acordado e escrito, ou toda discussão sobre se uma cena é "cara demais" desmorona em gosto e senioridade. Ao lado do tempo de frame, dê tetos às quantidades que o prendem:
- draw calls por vista (prendem a CPU muito antes de a GPU estourar),
- memória de texturas e malhas por zona de streaming (o número que decide se você faz streaming ou engasga),
- luzes que projetam sombra na vista,
- pontos quentes de overdraw: vegetação e VFX são os suspeitos de sempre.
Os tetos exatos dependem de plataforma e motor; a disciplina de ter tetos é o que se transfere para cada projeto que você já vai lançar. Um número sobre o qual você pode estar errado vence uma vibe sobre a qual só dá para discutir.
Divida o frame como uma torta, em milissegundos
Dê uma fatia a cada departamento (gameplay, VFX, UI, ambiente) depois divida de novo a fatia do ambiente: terreno, vegetação, props, água. "Essa floresta é cara demais?" vira uma pergunta objetiva.
Uma divisão inicial viável para um título a 60 fps, a renegociar por projeto: ambiente total 6–8 ms, dos quais terreno ~1,5, vegetação ~2–2,5, props e estruturas ~1,5, água e atmosfera ~1. O ponto não são esses números exatos: é que quando a floresta mede 4 ms contra uma fatia de 2,5 ms, a conversa vira "qual alavanca puxamos" em vez de "de quem é a culpa".
Fatias também protegem contra a super-otimização, uma falha real e cara. Um sistema bem abaixo da sua fatia é um convite a gastar a folga em qualidade, não um troféu a defender. Times sem fatias tendem a otimizar o que o engenheiro mais barulhento notou, que raramente é o gargalo real: o gráfico de pizza te diz para onde os milissegundos de fato foram.
Meça em três câmeras fixas
Orce para a pior vista realista, não a média; escolha três "câmeras de orçamento" fixas por mapa (pior vista, espaço de combate mais denso, interior mais movimentado) e meça exatamente ali, toda vez.
Voos aleatórios produzem números aleatórios e argumentos infalsificáveis. Câmeras fixas produzem linhas de tendência: a mesma vista, medida semanalmente, mostra exatamente quando e onde uma regressão pousou e a quem perguntar. A pior vista merece o papel principal porque empilha tudo de uma vez: distância de desenho máxima, cada anel de LOD, terreno, água e céu simultaneamente. Um mapa que segura o orçamento na sua vista o segura em quase todo lugar; corredores te lisonjeiam, e vistas dizem a verdade.
Salve as posições de câmera no mapa para qualquer um reproduzir a tomada exata. "Roda bem na minha máquina em algum ângulo" não é dado; "câmera de orçamento 2 mede 9,2 ms na config mínima, subindo de 7,8 na semana passada" é um relatório de bug com um suspeito.
Torne o orçamento visível onde o trabalho acontece
Um orçamento num wiki está morto: ele vive como overlays de stats durante a ambientação, uma checagem contra tetos antes dos merges de conteúdo, e avisos quando um bake estouraria a contagem de instâncias.
Artistas cumprem orçamentos de bom grado quando o retorno é imediato, e os ressentem quando chegam como um ticket de bug três meses depois de o trabalho ter sido lançado. O lado das ferramentas importa aqui de um jeito silencioso mas decisivo: quando scatter e blending assam para primitivas nativas do motor: malhas instanciadas e folhagem comuns, como o Numivo faz: seu profiler existente diz a verdade sem maquiagem sobre eles, sem um runtime de plugin embaçando os números, e cada alavanca padrão (distâncias de cull, LODs, contagens de instâncias) aplica sem mudança. Um orçamento que você só consegue medir por uma caixa-preta é um orçamento em que você vai, silenciosamente, parar de confiar.
A cadência de revisão que gruda
Capturas semanais das três câmeras de orçamento (cinco minutos), uma checagem automatizada de tetos nos merges de conteúdo, e uma revisão mensal dos próprios tetos: orçamentos são estimativas, e revisão honesta vence violação silenciosa.
- Semanal: screenshot das três câmeras com stats ligadas; registre tempo de frame e memória numa planilha compartilhada. Tendências aparecem em um mês, e um pico aponta o trabalho de uma semana específica.
- No merge: uma checagem automatizada compara a cena com os tetos. Números vermelhos abrem uma conversa, não um build quebrado: o objetivo é consciência, não burocracia, e um bloqueio duro treina as pessoas a burlar a checagem.
- Mensal: revisite as fatias em si. A realidade no meio do projeto sempre difere dos palpites de pré-produção; ajustar o orçamento abertamente o mantém crível. Um orçamento que todos ignoram em silêncio é pior que nenhum, porque ensina ao time que tetos são teatro.
Quando os números ficam vermelhos
Puxe alavancas em ordem de custo-benefício: distâncias de cull e configurações de sombra primeiro (minutos, ganhos enormes), depois LODs e impostores, depois contagens de instâncias, e só por último a arte em si.
Otimização é triagem, não demolição. Derrube a arte por último: a maioria das vistas acima do orçamento volta ao verde por mudanças de configuração invisíveis muito antes de você ter que apagar qualquer coisa que um jogador possa ver.
O erro caro é pular direto para "apague metade das árvores". Densidade é a alavanca mais visível e geralmente não a mais barata; uma vista acima em 2 ms tipicamente volta ao verde só por ajustar distância de sombra e de cull, ambas invisíveis para jogadores. Apagar conteúdo é o último recurso precisamente porque é a única alavanca que jogadores podem ver; cada degrau acima dele na escada é grátis do ponto de vista da arte. Desça a escada e você preserva o visual enquanto recupera os milissegundos; suba de baixo e você deixa o jogo mais feio antes de ter tentado as vitórias grátis.
Números de campo que vale a pena roubar
- Frame a 60 fps: 16,6 ms: ambientes tipicamente negociam 6–8 ms
- Uma subdivisão de ambiente viável: terreno 1,5 / vegetação 2–2,5 / props 1,5 / água & atmosfera 1 (ms)
- Câmeras de orçamento por mapa: 3 (vista, combate, interior) salvas no mapa
- Custo de medição semanal: ~5 minutos; valor: linhas de tendência em vez de discussões
- Ordem de alavancas no vermelho: culling → sombras → LODs → instâncias → arte
Mini-FAQ
Quem é dono do orçamento de ambiente? Uma pessoa nomeada (geralmente um tech artist) é dona da medição; os tetos são de posse conjunta com renderização. Orçamentos sem dono decaem em folclore em um mês, porque "todos são responsáveis" significa que ninguém mede.
Como orçamentos funcionam com hora do dia dinâmica? Meça a pior condição de iluminação em cada câmera, não a mais bonita. O amanhecer com longas sombras rasantes muitas vezes custa o dobro do meio-dia; um orçamento que só segura ao meio-dia é meio orçamento, e jogadores vão achar a hora cara.
Preciso de tudo isso para um projeto indie pequeno? Reduza a escala, não elimine. Uma câmera de orçamento, um teto (tempo de frame na sua máquina de config mínima), checado semanalmente. O hábito de cinco minutos é o que salva o último mês: independente do tamanho do time, o modo de falha é idêntico: descobrir o custo quando é caro consertar.
E memória versus tempo de frame? São orçamentos diferentes com modos de falha diferentes: tempo de frame derruba seu FPS, memória transforma seu streaming em engasgos ou crashes. Orce ambos; no console, memória costuma ser o teto mais duro, e é o que reprova na certificação em vez de só se sentir ruim.
O orçamento não é um limite à arte: é a razão de a cena bonita ainda parecer bonita a 60 fps no hardware que jogadores de fato têm. Times que tratam performance como restrição de design compartilhada lançam jogos mais bonitos que times que a tratam como chefão final.