Texture loss no FiveM: por que acontece e como resolver de vez
Prédio cinza, chão de massinha, roupa piscando, carro que carrega sem pintura. O texture loss (e o primo dele, o city bug) não é azar nem culpa da placa de vídeo do player: é um orçamento de memória estourado. E orçamento estourado se resolve na origem, reduzindo o que os seus mods pedem do jogo.
O que é texture loss, na prática
O GTA V não carrega o mapa inteiro de uma vez. O motor transmite os assets conforme o player anda pela cidade (por isso o nome streaming) e mantém na memória de vídeo só o que está em uso. Esse espaço é finito. Quando o conteúdo pedido não cabe, o motor começa a cortar: segura texturas na versão borrada de longe, descarrega o que acabou de usar, adia o carregamento do que vem pela frente.
Do lado de dentro do jogo, isso aparece como:
- Prédios e ruas em baixa resolução que nunca terminam de carregar, o city bug clássico.
- Roupas e skins piscando ou trocando de textura na frente de todo mundo.
- Pop-in agressivo: objetos surgindo do nada a poucos metros.
- FPS caindo em área cheia, porque o motor gasta tempo demais administrando memória.
Se o jogo fecha em vez de perder textura, o problema é outro: texture loss é orçamento de memória estourado, e o jogo segue rodando. Crash é um arquivo específico com bytes que o jogo não consegue ler, como uma textura que declara um formato e carrega menos bytes do que ele exige. Nesse caso, siga para como achar o arquivo que derruba o jogo.
A causa real: mods pedindo mais do que o jogo aproveita
Cidade de FiveM soma mods de dezenas de criadores diferentes, e cada criador exporta na resolução máxima. Uma textura 4096 x 4096 em DXT5 ocupa 21,3 MiB de memória de jogo com a cadeia de mipmaps. O jogo raramente mostra mais que 1024 pixels de lado dessa mesma peça, que custaria 1,3 MiB. A diferença, 16 vezes o tamanho, é puro desperdício que compete com o resto da cidade pelo mesmo orçamento.
O seu servidor avisa quando um asset passa do limite. É este aviso, que todo dono de cidade já viu rolar no console:
[citizen-server-impl] Asset roupas/adultocoringa.ytd uses 224.0 MiB of physical memory! [citizen-server-impl] Asset mapas/shanson_room_01.ydr uses 77.2 MiB of physical memory!
Importante: o número do aviso é memória física do jogo, não tamanho de arquivo. No disco tudo viaja comprimido; carregado, explode. Num caso real que atendemos, 7 MiB no disco viravam 64 MiB na memória. Se quiser entender essa conta a fundo, veja o guia sobre YTD pesado e o formato por dentro.
Como identificar os mods culpados
- Leia o console na subida do servidor. Todo aviso de
physical memoryé um candidato. Anote os piores números. Para entender cada parte da mensagem, veja o aviso de physical memory explicado linha por linha. - Rode um diagnóstico da base. O diagnóstico grátis do Texturize analisa a pasta inteira e devolve um laudo: quais arquivos mais pesam, quanto ocupam de memória de jogo e qual a projeção de economia. É ilimitado e não desconta nada.
- Desconfie dos suspeitos de sempre. Packs de roupas (.ytd e .ydd), MLOs e interiores (.ydr) e veículos com livery 4K (.yft) concentram a maior parte do desperdício.
Como resolver na origem
A solução é reduzir a resolução das texturas para o que o jogo de fato usa. Isso pode ser feito na mão pelo OpenIV, textura por textura, ou de forma automática. A técnica que o Texturize aplica, o mip-drop, aproveita as versões reduzidas que já existem dentro de cada textura (os mipmaps que o jogo mostra quando você se afasta), então não há recompressão nem artefato novo: a aparência de perto passa a ser a que você já via a poucos metros.
O efeito na conta de memória é direto: uma peça que ocupava 21,3 MiB passa a ocupar 1,3 MiB. Multiplicado por uma base inteira, é o orçamento de streaming voltando a fechar. Nos nossos números, a redução real medida chega a 84%, e um pack de roupas de 240 MiB saiu com 38 MiB. O processo completo, com validação de cada arquivo e o passo a passo, está no guia completo de otimização de mods.
Não resolve: pedir para o player abaixar o gráfico, trocar de artifacts ou limpar cache. Isso alivia o sintoma por uma sessão. Enquanto os assets continuarem pedindo memória demais, o texture loss volta.
Checklist para o problema não voltar
- Todo mod novo passa pelo otimizador antes de subir para a cidade.
- Teto de 10 MiB de memória física por arquivo de stream (o padrão do Texturize) e resolução máxima de 1024 px.
- Console limpo como meta: aviso de
physical memoryque aparecer é tratado na semana, não engavetado. - Diagnóstico da base a cada leva de mods nova, já que é grátis e leva minutos.
- Carro com livery pesada também estoura: o .yft e o .ytd do veículo entram na mesma regra, e o processo está em como otimizar o carro sem quebrar a física.
Perguntas frequentes
Texture loss é culpa do PC do player?
Limpar cache resolve?
Texture loss só num carro ou numa roupa: o que é?
Descubra o que está estourando a sua cidade
Envie a pasta de stream e receba o laudo dos arquivos que mais pesam, com projeção de economia.