Você abre um jogo que não jogava há um tempo e os primeiros dez minutos são horríveis. Cada arma nova, cada efeito novo, a primeira vez que um inimigo específico aparece — um solavanco. Depois assenta, e na segunda noite o jogo está suave. Não foi nada que você mudou. Foi o tempo.
Ou a outra versão: o jogo estava bem, você atualizou o driver de vídeo, e a primeira hora inteira volta a ser ruim.
As duas são o mesmo mecanismo, e ele é uma das poucas causas de engasgo que é genuinamente normal, no sentido de que uma máquina saudável rodando software correto produz isso.
Por que esse trabalho tem de acontecer na sua máquina
Um shader é um programa pequeno que roda na GPU. O desenvolvedor do jogo o escreve numa linguagem de alto nível e o compila, mas só até certo ponto — até uma forma intermediária que descreve o que o programa faz, não como um chip gráfico específico deve fazê-lo.
O código de máquina que a sua GPU realmente executa não pode ser produzido com antecedência, porque depende de duas coisas que o desenvolvedor não tem: a arquitetura exata da sua GPU e a versão exata do seu driver. Quem transforma a forma intermediária em instruções para o silício da sua máquina é o compilador do próprio driver, e essa compilação acontece na sua CPU, no momento em que o jogo precisa do shader.
Então, na primeira vez em que uma cena precisa de uma combinação específica de shader, estado de renderização e layout de vértices, alguma coisa tem de ser compilada. Se o jogo pede isso no meio de um quadro e espera, aquele quadro atrasa. Esse quadro atrasado é o solavanco que você sentiu.
O resultado é escrito num cache de shaders no disco. Na segunda vez em que a mesma coisa aparece, o código compilado é lido do cache em vez de ser reconstruído, que é exatamente por que o jogo melhora conforme você joga e por que a segunda sessão está boa.
O que te manda de volta para o começo
O cache só vale para o driver e o hardware que o construíram. Qualquer coisa desta lista o invalida, no todo ou em parte, e a primeira hora de jogo volta a ser ruim:
- Uma atualização do driver de vídeo. Novo compilador, nova saída; não dá para confiar nas entradas antigas, então elas vão embora.
- Uma atualização do jogo. Shaders alterados são shaders novos.
- Outra placa de vídeo, inclusive trocar em qual placa um jogo roda.
- Uma ferramenta de limpeza apagando o cache. A limpeza de disco do próprio Windows lista o cache de shaders do DirectX entre as categorias de arquivo temporário que ela pode remover, e os limpadores de terceiros costumam levá-lo também. O Sensor de Armazenamento é a configuração do Windows que roda essa limpeza de forma agendada, então vale conferir quais categorias você deixou que ela apague.
- O cache enchendo o limite de tamanho dele e descartando as entradas mais antigas para abrir espaço.
Nenhuma dessas coisas é um defeito. Elas são o custo de um cache estar correto em vez de estar velho.
Como saber que é isso que você tem
A compilação de shaders tem uma impressão digital própria, e ela não se parece com nada mais da lista de engasgos:
- Ela vai sumindo. Este é o sinal característico. Se o seu engasgo na terceira hora é igual ao do terceiro minuto, não é isto.
- Ela está ligada à novidade. A primeira vez que você vê uma arma, uma área, um efeito de clima, um inimigo específico. Percorrer o mesmo corredor uma segunda vez sai limpo.
- Ela ignora temperatura e duração da sessão. Problemas térmicos pioram quanto mais você joga; este melhora.
- Ela volta num momento que você consegue nomear — depois de uma atualização de driver, depois de um patch, depois de uma limpeza — e não ao acaso.
- A GPU não é a parte ocupada. A compilação é trabalho de CPU. Uma GPU bem abaixo da ocupação total durante esses solavancos é o esperado aqui, e não é evidência do problema separado descrito em quedas repentinas de FPS nos jogos.
Se esses cinco não descrevem o seu sintoma, volte para a lista geral em por que os jogos engasgam no Windows 11 — as causas de lá não vão sumindo sozinhas.
O que fazer a respeito
Na maior parte: deixe acontecer. Mas há escolhas reais nas bordas.
Não apague o cache de shaders como solução. Este é o conselho desta página que vale ler duas vezes. Limpar o cache é receitado o tempo todo como cura para engasgos, e o que ele faz de verdade é garantir que você pague o custo inteiro da compilação de novo, do zero. É um passo legítimo de diagnóstico para corrupção visual depois de uma troca de driver. É o oposto de uma solução de desempenho.
Use o passo de pré-compilação do próprio jogo se ele oferecer um, e não pule esse passo. Um jogo que passa dois minutos numa tela de "compilando shaders" antes do menu está fazendo exatamente este trabalho de antemão, onde ele não te custa nada além de esperar.
Deixe a máquina ligada por um tempo depois de uma atualização de driver. Alguns drivers reconstroem os shaders do DirectX 12 enquanto o sistema está ocioso, justamente para que o runtime faça menos disso depois. Isso só ajuda se a máquina receber esse tempo ocioso.
Mantenha o jogo e o cache dele num SSD, e fora de uma pasta sincronizada. Um cliente de nuvem vigia cada gravação, e um jogo escreve o cache de shaders o tempo todo — cada entrada vira trabalho de driver de filtro mais um upload na mesma conexão que a sua partida está usando.
Não meça dentro dessa janela. Uma captura feita nos primeiros minutos depois de uma atualização de driver mede o compilador, não o driver. Como ler o benchmark trata das regras de comparação; esta é uma forma fácil de quebrar a primeira delas sem querer.
O que a análise diz sobre isso
A análise de engasgos confere se um cache de shaders foi limpo recentemente e, quando encontra um, diz o que esta página diz: o jogo recompila o cache apagado enquanto você joga, o engasgo no começo da sessão é normal e vai sumindo sozinho, e você não deve fazer benchmark antes de essa janela passar.
Isso não é apresentado como um defeito a ser reparado, e é de propósito. Não há nada para reparar — há um custo a ser pago uma vez, e a coisa honesta que uma ferramenta pode fazer é te dizer que você está dentro dele, para você não passar a noite culpando uma configuração.
Onde isso deixa de ser normal
Um engasgo de compilação que nunca vai sumindo é outro problema: o cache não está sendo guardado. Confira se o disco não está cheio, se o cache não está sendo apagado por uma limpeza agendada entre as sessões, e se a pasta do jogo não está num lugar que um cliente de nuvem ou um limite de tamanho vive esvaziando.
E se a execução é irregular do começo ao fim em vez de concentrada no início, o que você está olhando é FPS médio alto, mas 1% lows ruins, que é um problema de evento e não de aquecimento.
Relacionados
- Por que os jogos engasgam no Windows 11 (e como achar a causa real)
- Quedas repentinas de FPS nos jogos: como descobrir a causa
- FPS médio alto, mas 1% lows ruins: o que isso significa
- Como ler o benchmark
Joga CS2? Quais opções de inicialização ainda fazem alguma coisa e onde estão de verdade os quadros no menu de vídeo: Como aumentar o FPS no CS2 e por que ele fica travando: um checklist medido
Esta página ajudou?
O que faltou, ou o que não funcionou? Lemos cada uma dessas respostas.
Se esta página não resolveu, escreva para nós — diga qual artigo você leu, e nós vamos corrigi-lo.