16x MapFix

  • 16x MapFix
KingMods Logo
Publicado por KingMods
Reivindique este mod
V1.1.4.0
1 036

FS25 16x Map Fix – a causa raiz + uma ferramenta de correção

Por que os mapas 16x (e maiores) no Farming Simulator 25 travam com um erro “allocReg”?
ou preso na “compilação 100% do shader”? Aqui você encontrará o diagnóstico completo e uma ferramenta
isso permite carregar e sincronizar no modo multijogador em hardware normal.

Importante:
Você gosta da ferramenta?
Você pode apoiar o desenvolvimento no Ko-fi - mencione "16x Map Fix" para que eu saiba no que trabalhar a seguir.
Diagnóstico em servidor dedicado e cliente com 16GB de RAM, ambos rodando a mesma placa 16x.
A ferramenta reduziu os erros de allocReg em um mapa real 16x de 878.987 para 0, tornando-o jogável no modo multijogador.

Resumindo (TL;DR),
A falha do allocReg é, na verdade, causada por dois problemas diferentes que parecem idênticos:
Causa Solução
Requisitos de memória no modo single player - um mapa 16x requer aproximadamente 20-32 GB durante a compilação inicial de dados de densidade (mapas de densidade); 16 GB não é suficiente.
Um arquivo de troca grande (48GB+) + DX11 → o mapa original e não modificado é carregado. Multijogador
Um registro de bloco de capacidade fixa no módulo de sincronização do mapa de densidade reduz o nível de densidade gravável do mapa para 8.192 pixels para mapas de densidade de 16.384 pixels - consulte a ferramenta abaixo.

Prova de que não é um problema de RAM no modo multijogador: um servidor dedicado com 262 GB de RAM ainda produzia os mesmos erros 3014 “allocReg”. Mais RAM ou um arquivo de troca maior não ajudam no modo multijogador - apenas menos blocos resolvem o problema.
A causa em detalhes.

As camadas transbordantes (frutas, solo, ervas daninhas, camada de informações) são os mapas de densidade de "detalhes do terreno" graváveis ​​​​do jogo - você ara, semeia e colhe em qualquer lugar deles, inclusive fora de vista, e o servidor monitora o mapa inteiro. Dados graváveis ​​não podem usar “texturização virtual” (onde apenas blocos visíveis e somente leitura são transmitidos). Portanto, essas camadas devem estar completamente na memória e registradas. Seus requisitos de recursos aumentam de acordo com a área do mapa: 16x significa 16 vezes o número de blocos. No modo single player, o cliente carrega seus próprios arquivos .gdm pré-compilados; O único gargalo é o breve aumento no uso de memória durante a primeira compilação, que é tratado por um arquivo de troca suficientemente grande.
No modo multijogador, o servidor transmite mapas de densidade para cada cliente ingressante, que os recompila ao vivo por meio do registro de blocos de tamanho fixo (TiledBitmapOperationCompiler). Uma densidade de 16.384 pixels leva ao estouro - e, portanto, a milhares de operações "allocReg". Isto representa um limite rígido de capacidade que é independente da RAM; É precisamente por isso que mesmo servidores com 262 GB de RAM falham e o limite superior efetivo de GIANTS para modo multijogador é quatro vezes o tamanho padrão (4x): Um cartão 4x é a maior área cuja densidade gravável cabe tanto no registro quanto na sincronização por conexão.
A ferramenta

tool/mapfix.py + tool/Optimize-Map.bat (arrastar e soltar do Windows). Ele dimensiona qualquer densidade superdimensionada ou camada de informação (16.384 pixels, potência de dois) de uma placa para 8.192 pixels seguros para o mecanismo - exatamente a resolução na qual as placas 4x funcionais são enviadas. As informações do campo e da cultura são retidas (decodificação → reamostragem do vizinho mais próximo → recodificação; verificada como 99,9% de pixels idênticos, cobertura da cultura inalterada). Mapas de elevação e geometria do terreno (dem.png, grade com 2ⁿ+1 pontos) são reconhecidos com base em seu tamanho (não uma potência de dois) e não são alterados.


Aplicação

Arraste o arquivo zip do mapa para a pasta Optimize-Map.bat (requer Python 3 - o Pillow será instalado automaticamente).
Um arquivo com a extensão “_fixed.zip” será criado na mesma pasta - seu arquivo original permanecerá inalterado.
Carregue o mapa corrigido para o seu servidor, inicie um novo jogo (importante: os saves antigos contêm a revisão da poesia antiga) e participe do jogo.


Inclui grleconvert (licença MIT) para converter entre .gdm/.grle e PNG. Suporta cartões 16x e 32x; A saída está sempre no formato seguro de 8192 pixels.
Nota sobre o modo multijogador (salvamento automático GIANTS).Mesmo com a placa gráfica corrigida, o Servidor Dedicado GIANTS realiza um salvamento automático bloqueador (“auto_save_interval”, padrão: 10 minutos). Em placas gráficas grandes, esse processo de salvamento bloqueia o thread principal por tanto tempo que a conexão com o cliente pode ser perdida exatamente naquele momento (“conexão perdida”), enquanto o próprio servidor permanece online. Para minimizar esse problema, aumente o valor auto_save_interval em dedicadoServerConfig.xml (por exemplo, para 30-60).
Mod adicional: Auto VRAM Optimizer


Um mod pequeno e independente que aumenta o limite de streaming de textura no FS25 (cerca de 4 GB por padrão) para a VRAM real da sua placa gráfica. Isso resulta em um carregamento mais suave e menos pop-ins em todas as placas gráficas com mais de 4 GB de VRAM – não apenas nas placas 16x.

Servidor
Consoles
Registro de alterações
1
Créditos
  • KeilerHirsch
Comentários
0