Castle Story não é o jogo mais otimizado.
Existem muitas razões para gaguejar ocasional durante o jogo, mas a maior delas é o Coletor de Lixo.
O que é o coletor de lixo?
Quando o jogo funciona, muitas coisas acontecem no seu computador.
- Toda vez que um Bricktron toma a decisão de realizar uma tarefa, ele deve colocar as informações sobre essa tarefa em algum lugar.
- Toda vez que ele quer ir a algum lugar, ele tem que calcular o caminho para chegar lá.
- Cada vez que uma árvore é derrubada, um bloco é extraído, um novo item deve ser criado.
Todas essas coisas consomem memória. No entanto, quando eles não são mais necessários, essa memória pode ser liberada. Esse é o trabalho do coletor de lixo.
O coletor de lixo funciona pausando o jogo por um momento, limpando a memória que o jogo não está mais usando e retomando o jogo.
No entanto, se o jogo não estiver otimizado ou se estiver criando muito lixo, o coletor de lixo terá dificuldade em acompanhar e o tempo que leva para limpar a memória aumentará.
Essa é a principal fonte da gagueira que você vê em Castle Story.
Especificações do coletor de lixo
Castle Story foi escrito usando o mecanismo de jogo Unity, que usa o tempo de execução Mono para poder rodar o jogo no Windows, Linux e Mac.
O tempo de execução Mono é na época um tempo de execução antigo e não tem as melhorias de desempenho modernas que existem em tempos de execução como .NET Core.
No entanto, isso não significa que temos que sofrer!
Mono tem suporte para dois tipos de coletores de lixo:
- O padrão, que funciona bem para aplicativos básicos
- SGen, que é otimizado para trabalhos que precisam de taxa de transferência consistente
O SGen é direcionado para aplicações que não devem pausar por longos períodos de tempo, como servidores e jogos.
Além disso, podemos alterar os parâmetros do coletor de lixo, como:
-
tamanho máximo da pilha = m
Faz com que o Garbage Collector pré-aloque mais memória do seu computador, o que deve diminuir a frequência dos travamentos, além de corrigir falhas de falta de memória.
-
major=marksweep-conc-par
Faz com que o coletor principal funcione concorrentemente com a aplicação. Pode ser útil se o jogo ocupar muita memória (Castle Story ocupa!)
-
MONO_GC_PARAMS=modo=pausa:
Altera o modo SGen para configurável em pausa e define o tempo máximo de pausa para X milissegundos. Deve diminuir a frequência de gagueiras longas.
-
berçário-tamanho =
O berçário é uma área da memória que guarda itens de curto prazo. Ao aumentar o tamanho do berçário (o padrão é 4 megabytes), você pode diminuir a frequência das gagueiras, mas elas podem ser um pouco mais longas.
-
menor=par simples
Faz o coletor de berçário trabalhar simultaneamente. Embora geralmente não mude muito, pode melhorar o desempenho se você também aumentar o tamanho do viveiro.
Então... o que eu preciso fazer?
Primeiro, vá para o diretório principal do Castle Story:
Em seguida, crie um atalho para o Castelo Story.exe arquivo.
Clique com o botão direito do mouse no atalho e selecione Propriedades.
Então, no Target campo, adicione isto (após as aspas!):
Isso habilita o coletor de lixo SGen para Castle Story, o que deve diminuir consideravelmente as gagueiras.
Certifique-se de abrir o jogo usando esse atalho (você pode mover o atalho para, por exemplo, sua área de trabalho).
By the way, ele também desativa o lançador irritante.
Se você quiser mexer nas configurações do Garbage Collector, consulte “Como definir variáveis de ambiente” para configurar as variáveis para o Garbage Collector.
Isso é tudo o que estamos compartilhando hoje para isso História do Castelo guia. Este guia foi originalmente criado e escrito por micha_i. Caso não consigamos atualizar este guia, você pode encontrar a atualização mais recente seguindo este link.