Blog
Corrija o Engasgo no Minecraft: Elimine os Picos de Tempo de Quadro
O travamento no Minecraft vem de pausas na coleta de lixo e carregamento de blocos, não de FPS baixo. Reduza a pressão na memória, carregue os blocos de forma mais suave e pare de alocar RAM em excesso.
O que significa, na prática, o stuttering no Minecraft?
Stuttering é um problema de tempo de frame, não de taxa de frames. Sua média de FPS pode estar em 300 enquanto o jogo congela por uma fração de segundo a cada poucos segundos. O contador parece saudável porque ele suaviza os picos. O que você sente é o pico em si. As duas causas por trás disso são as pausas na coleta de lixo e o carregamento de chunks, e nenhuma delas é resolvida ao buscar um número maior.
Imagine um FPS constante de 120 ao lado de um FPS de 300 que cai para 20 por um frame sempre que o coletor é executado. O de 120 parece melhor. Seus olhos acompanham o pior frame, não a média. Então, todo o trabalho aqui é tornar o pior frame menos ruim, e a ordem em que você corrige as coisas importa.
| O que você sente | O que está acontecendo na verdade | O que causa isso |
|---|---|---|
| Uma pausa a cada poucos segundos | Pausa na coleta de lixo | FerriteCore, ModernFix |
| Um engasgo ao entrar em um novo terreno | Geração de chunks na thread principal | C2ME, Lithium |
| Stuttering que piorou após aumentar a RAM | Heap exagerado, varreduras de GC mais longas | Diminua a alocação |
| Micro-engasgos aleatórios | Aplicativos em segundo plano ou um disco cansado | Feche aplicativos, verifique o disco |
Como impedir o stuttering causado pela coleta de lixo?
Reduza a pressão na memória antes de tudo. A maioria das micro-travadas ocorre quando o coletor de lixo Java pausa o mundo para recuperar memória. Diminua a quantidade de memória que o jogo armazena e essas pausas se tornarão tanto mais curtas quanto mais raras. Dois mods fazem o trabalho pesado. FerriteCore duplica e comprime os dados que o Minecraft mantém na memória, e ModernFix remove alocações e desperdício no carregamento por cima disso.
O raciocínio é simples. O coletor só precisa interromper o jogo quando houver lixo suficiente para limpar. Dê a ele menos para coletar e ele o interromperá com menos frequência. FerriteCore sozinho pode reduzir significativamente a pegada do heap, por isso está no topo de toda correção séria de travadas.
FerriteCore
Comprime os dados que o Minecraft armazena na RAM. Uma pegada menor significa pausas de GC mais curtas e raras.
ModernFix
Otimiza alocações e elimina o excesso de tempo de carregamento. Empilha-se de forma limpa sobre o FerriteCore.
C2ME
Distribui a geração de blocos por mais threads da CPU para evitar travamentos na geração de novo terreno.
Lítio
Torna a simulação do mundo mais barata, para que o jogo acompanhe seus movimentos e combates.
Como resolver os travamentos causados pelo carregamento de blocos?
O solavanco que você sente ao correr para um novo terreno é a geração de blocos sobrecarregando a thread principal. O C2ME distribui esse trabalho para mais núcleos da sua CPU, para que o mundo seja construído à sua frente, em vez de ficar para trás. Combine-o com o Lithium, que reduz o custo por "tick" de entidades, IA de mobs e física, para que a simulação nunca fique atrasada.
Esses dois dividem o trabalho. O C2ME cuida dos blocos novos. O Lithium mantém o mundo existente barato para rodar. Juntos, transformam uma corrida em mundo aberto de um rastejo para frente e para trás em algo que mantém seu ritmo. É aqui que você mais percebe a diferença, em jogabilidade rápida. Se você se importa com movimentos fluidos sob pressão, veja como obter FPS estáveis para PvP.
Por que mais RAM piora o "stuttering"?
Porque um heap maior leva mais tempo para ser limpo. Quando você dá mais memória ao Java, cada varredura de coleta de lixo tem mais terreno para cobrir, então a pausa que congela seu frame fica mais longa, não mais curta. As pessoas aumentam a alocação esperando suavidade e obtêm o oposto. Se o seu "stuttering" começou ou piorou logo após um aumento de RAM, você encontrou o culpado.
Por essa mesma razão, instalar muitos mods sem reduzir a memória antes é uma armadilha. Instale o FerriteCore e o ModernFix antes de mexer no controle de alocação. Se a RAM for o problema específico, os melhores mods para reduzir o uso de RAM aprofundam-se mais.
Qual a ordem certa para resolver isto?
Instale o par de memória
Adicione FerriteCore e ModernFix no Fabric. Isso reduz o heap e é onde a maioria das falhas desaparece.
Adicione o par de bloco e marca de seleção
Instale o C2ME e o Lithium. Novos terrenos evitam travamentos e a simulação permanece acessível.
Ajuste a quantidade de RAM
Diminua sua alocação para 4-6 GB se estiver mais alta. Teste em uma área movimentada, não em um mundo plano e novo.
Limpe e organize
Defina um limite de quadros ligeiramente abaixo da sua taxa de atualização, ou ative o VSync, e feche os aplicativos em segundo plano que estão consumindo sua CPU.
A rápida lista de verificação antes de culpar os moderadores
Algumas causas não relacionadas aos moderadores podem estar escondidas aqui, e valem a pena serem descartadas antes de reinstalar qualquer coisa.
- Um limite de taxa de quadros ou VSync. Um ritmo consistente supera um pico irregular, mesmo que o número máximo diminua.
- Aplicativos em segundo plano. Navegadores, clientes de voz e tarefas de atualização roubam CPU e causam travamentos durante o jogo.
- Seu disco. Um disco cheio ou com falhas apresenta falhas na leitura de blocos. Libere espaço e verifique a saúde do disco.
- Shaders. Um pacote de shaders pesado adiciona seu próprio custo de tempo de quadro. Teste com ele desativado para isolar a causa.
É aqui que uma configuração afinada à mão mostra seu valor. A Terminus envia sua pilha de desempenho já cabeada e seu perfil de lançamento pré-dimensionado, então você pula o labirinto das flags da JVM e simplesmente joga.
Perguntas Frequentes
Uma média alta de FPS esconde o problema. Uma única pausa na coleta de lixo ou um atraso no carregamento de chunks congela o frame por uma fração de segundo, independentemente da rapidez com que os outros frames são renderizados. Corrija a memória e o carregamento de chunks, não o contador de frames.
FerriteCore para o lado da memória e C2ME para o lado de carregamento de blocos. O lítio auxilia ambos, tornando a simulação do mundo mais barata. Instale todos os três juntos, se possível.
Geralmente o oposto. Um monte maior oferece a cada varredura de coleta de lixo mais para escanear, então as pausas ficam mais longas. Se a sua falha piorou após um aumento de RAM, reduza para 4-6 GB.
Frequentemente, sim. Um ritmo constante de quadros parece mais suave do que um número alto que oscila. Limite alguns quadros abaixo da sua taxa de atualização ou ative o VSync e deixe a consistência prevalecer.
Obtenha Terminus
Performance stack pre-tuned. No JVM flags to memorize.