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.

TRtrolPublished 7 min read

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ê senteO que está acontecendo na verdadeO que causa isso
Uma pausa a cada poucos segundosPausa na coleta de lixoFerriteCore, ModernFix
Um engasgo ao entrar em um novo terrenoGeração de chunks na thread principalC2ME, Lithium
Stuttering que piorou após aumentar a RAMHeap exagerado, varreduras de GC mais longasDiminua a alocação
Micro-engasgos aleatóriosAplicativos em segundo plano ou um disco cansadoFeche 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?

  1. Instale o par de memória

    Adicione FerriteCore e ModernFix no Fabric. Isso reduz o heap e é onde a maioria das falhas desaparece.

  2. 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.

  3. 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.

  4. 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

Obtenha Terminus

Performance stack pre-tuned. No JVM flags to memorize.