Overview
Guia sobre as principais modificações que você pode fazer para melhorar a perfomance do seu jogo.
Introdução
Então você comprou o jogo quando estava na promoção por recomendação, e quando iniciou percebeu que havia um GRANDE problema com o FPS do jogo?
Neste caso, esse guia é diretamente para você, e também para aqueles que tem um PC ruim.
Esse guia passará tanto as melhores modificações que aumentam o FPS, e também as de menor efetividade para aqueles que querem o máximo de frames possível.
Eu também criei configurações pré-modificadas de cada tipo de qualidade que visam a perfomance, na quais só precisa colocar na pasta indicada do jogo para aplicar todos os ajustes recomendandos nesse guia no jogo.
Gamebooster
Iniciando esse guia, eu pessoalmente recomendo o uso do Razer Gamebooster, principalmente para os computadores medianos, ele fecha os processos que não estão sendo usados para deixar mais memória paginada disponível, além de fazer melhor uso da CPU, algo muito importante já que BL2 usa muita CPU e pouca GPU.
Download[www2.razer.com]
Aviso para quem usa AMD/iGPU que não seja da NVIDIA
ATENÇÃO: Essa seção do guia é específica para aqueles que usam AMD ou qualquer GPU integrada que não seja da NVIDIA.
Essa seção aqui aumenta o FPS em 10~20 e promete deixar o jogo mais estável e consistente com a perfomance.
Nesse jogo, uma coisa interessante é o Physx. O Phsyx é o que mexe com as partículas e algumas físicas do jogo, porém ele é uma tecnologia feita especialmente para quem usa placa de vídeo da NVIDIA.
O problema disso é que o Borderlands 2 instala essa tecnologia no seu PC, e pode ser que você não tenha uma GPU da NVIDIA, o que resulta em uma grande incompatibilidade, em específico nos jogos que usam dessa tecnologia, como o Borderlands 2.
Sabendo disso, você pode desinstalar o NVIDIA Physx
Isso é bem simples, vá no ‘Painel de Controle’, e procure por ‘Programas’ e depois ‘Desinstalar um programa’, encontre o NVIDIA Physx e desinstale-o (lembre-se, não desinstale se você usa placa de vídeo da NVIDIA)
Começando com a configuração (LEITURA NECESSARIA)
Antes de começar a configurar e ajustar os arquivos WillowEngine e WillowGame, é necessário que seja colocado isso nas opções de inicialização:
-NoLauncher -nostartupmovies
Para isso, vá na Biblioteca de jogos da Steam, procure pelo Borderlands 2 e clique com o botão direito no jogo e vá em ‘Propriedades’ e depois em ‘Definir opções de inicialização’ e coloque isso.
-NoLauncher vai fazer que o jogo inicie sem launcher (mais rapido), e que as modificações dos arquivos tenham efeito dentro do jogo.
-nostartupmovies faz o que diz, reduz o tempo de inicialização desativando as logos no inicio do jogo.
OBS: É necessário colocar -NoLauncher na opção de inicialização, para evitar que resete as modificações feitas no WillowEngine.ini sempre que iniciar o jogo.
WillowGame
Baixe o arquivo e coloque o arquivo na pasta “DocumentosMy gamesBorderlands 2WillowGameConfig” e substitue pelo existente. Depois, clique com o botão direito no arquivo, vá em Propriedades e certifique que o Somente Leitura está ativado.
Download[drive.google.com]
O que ele vai fazer é diminuir a quantidade corpos inimigos no mapa após você matar-los, que consequentemente melhora a perfomance por ter menos corpos sendo renderizados no mapa.
Configurações dentro do jogo
Aqui será falado sobre as configurações dentro do jogo.
Framerate: Define o limite de FPS que o jogo deve rodar.
Se você quer que o PC esquente menos, deixe o FPS limitado para 60~70 ou 22~62.
Limite o FPS para um valor menor de 72 caso você use um notebook, para que não esquente.
Anisotropic Filtering: Filtro de textura, quanto maior, melhor a qualidade; quanto menor, melhor a perfomance.
Essa opção aqui não muda tanto na perfomance do jogo, mas se o seu PC é bem ruim, deixe ele desligado.
Bullet Decals: Marca do Tiro na parede. quanto maior, melhor a qualidade; quanto menor, melhor a perfomance.
É recomendado desativar essa opção em todas situações, tendo PC bom ou ruim, essa configuração influencia mediamente no FPS.
Foliage Distance: Distância de renderização de alguns objetos e matos do mapa.
Near = Curto, melhor a perfomance, menor a qualidade.
Far = Longe, melhor a qualidade, menor a perfomance.
Texture Quality: Qualidade da textura, quanto maior, melhor a qualidade; quanto menor, melhor a perfomance.
Essa opção trabalha com a VRAM do computador, ou seja, deixe isso no ‘Low’ se você usa um notebook que usa uma GPU integrada, ou um computador com menos de 1GB de VRAM.
Se quer um FPS estável, deixa no ‘Low’ também.
Game Detail: Detalhe do jogo; partículas; efeitos. Quanto maior, melhor a qualidade; quanto menor, melhor a perfomance.
Deixe no ‘Low’ se você quer ter pelo menos uns 10~15 FPS à mais, dependendo da máquina.
Ambient Occlusion: Pós processamento do ambiente; muda a cor do ambiente.
OFF = Melhor FPS, menor qualidade
ON = Menos FPS, melhor qualidade.
Recomendado deixar Off se você não possui uma GPU muito boa.
Depth of Field (DoF): Pós processamento que dá uma sensação de distância, deixando o fundo borrado.
OFF = Melhor FPS, menor qualidade
ON = Menos FPS, melhor qualidade.
Recomendado deixar Off se você não possui uma GPU muito boa.
FXAA: Antisserilhado.
Deixar o FXAA ligado ou desligado aparentou não mudar muito a perfomance, mas por via das dúvidas é bom desligar para quem tem um PC muito ruim.
View Distance: Distância de renderização.
Low = Melhor FPS, mas vê menos coisas, como armas, baús, etc.
High/Ultra = Menor FPS, mas consegue ver quase tudo no jogo.
Dificilmente seu PC vai conseguir sequer rodar bem com isso aqui no médio, então é recomendado deixar no ‘Low’ em todos os casos.
Physx Effects: Efeitos da Physx. Quanto menor, melhor FPS.
Se você usa AMD e essa opção não parece apagada, vá na seção AMD para aprender a conseguir 15 FPS a mais desativando a tecnologia Physx.
Se você usa NVIDIA, simplesmente deixe no ‘Low’, a diferença nos efeitos não é grande e afeta mediamente na perfomance.
Texture Fade: Faz as texturas não diminuirem a qualidade se esta opção estiver no ‘On’.
Deixe no OFF para mais FPS.
Modificando os arquivos manualmente (melhores mudanças no FPS)
É nessa parte do guia que irei mostrar quatro métodos que mexem na configuração do jogo, e melhoram MUITO a perfomance do jogo.
Antes, é necessário que você tenha colocado as opções de inicialização, como visto em “Começando com a configuração”
WillowEngine é o arquivo responsável pelas questões gráficas do jogo.
WillowGame é o arquivo responsavel pelas mudanças no gameplay do jogo, como no tempo em que os corpos (ragdolls) de inimigos ficam no chão.
Abaixo mostrará 4 principais ajustes que podem ser feito dentro dos arquivos para melhorar a perfomance.
Abra todos os arquivos citados com o Bloco de Notas ou outro editor de arquivos.
As sombras dinâmicas são todas as sombras que pertencem à algum personagem ou objeto. Elas são muito pesadas quando se trata de um jogo aberto e cheio de seres como o Borderlands 2.
Desativar essa opção pode te ajudar caso tenha um PC ruim, porém após o patch Ultra HD (03/04/2019) do Borderlands 2 essa opção foi otimizada e não afeta tanto FPS quanto afetava antes.
Para desativar, abra WillowEngine e faça o seguinte:
Aperte CTRL + F e localize o “DynamicShadows=True”.
Localizado a linha de texto, substitue o “DynamicShadows=True” para “DynamicShadows=False”.
Se não encontrar DynamicShadows=True no arquivo, então provavelmente as sombras dinamicas já estão desativadas.
Assim como as sombras dinâmicas, após o patch Ultra HD, aparentemente o efeito cell-shader não destrói tanto o FPS quanto fazia antes, então é recomendado somente mexer nisso caso tenha um PC ruim e não consiga manter 60 FPS.
Linhas pretas:
No arquivo WillowEngine, faça o seguinte:
Aperte CTRL + F e localize o DefaultPostProcessName=WillowEngineMaterials.WillowScenePostProcess
Localizado a linha de texto, você tem duas escolhas para substituir por:
1. DefaultPostProcessName=WillowEngineMaterials.RyanScenePostProcess
Esse vai remover o efeito cartoon, mas prevalece a cor vívida do jogo.
Fica assim:
Ou esse
2. DefaultPostProcessName=WillowEngineMaterials.CinematicsScenePostProcess
Esse vai remover o efeito cartoon + cor vívida do jogo. Pode ser que aumente mais FPS do que o anterior.
Fica assim:
Faça o mesmo processo de sempre no arquivo WillowEngine, mas localize a parte [MemoryBudgets].
Substitua essa parte:
[MemoryBudgets]
AnimationMB=15
AudioMB=10
CodeMB=30
LevelObjectsMB=4
TerrainMB=4
GameDataMB=3
MaterialMB=1
ParticleMB=5
PhysicsMB=10
ScaleformMB=8
ShadersMB=10
SkelMeshMB=2
StaticMeshMB=10
TextureMB=120
Por isso:
[MemoryBudgets]
AnimationMB=32
AudioMB=16
CodeMB=64
LevelObjectsMB=16
TerrainMB=16
GameDataMB=16
MaterialMB=16
ParticleMB=16
PhysicsMB=32
ScaleformMB=32
ShadersMB=32
SkelMeshMB=16
StaticMeshMB=32
TextureMB=256
Isso deve aumentar o uso de memória.
Essa mudança pode ser que não melhore muito, mas quando tem muita coisa na tela pode ser que ajude.
No arquivo WillowEngine procure por “MaxFluidNumVerts=” e substitue por:
MaxFluidNumVerts=64
Procure o “MaxParticleResize=” e substitue por:
MaxParticleResize=128
Procure “MaxParticleVertexMemory=” e substitue por:
MaxParticleVertexMemory=904
Procure “PhysXGpuHeapSize=128” e substitue por:
PhysXGpuHeapSize=512
Procure “PhysXMeshCacheSize=8” e substitue por:
PhysXMeshCacheSize=128
Após esses procedimentos, salve o arquivo e deixe ele como Leitura Apenas (botão direito no arquivo, Propriedades, e ativa a caixa de Leitura Apenas)
Modificando os arquivos manualmente (pequenas mudanças no FPS)
Essa seção foi criada para colocar os ajustes que não mudam muito a perfomance, mas que ajuda qualquer um que tenha um PC muito ruim.
Seguindo o mesmo esquema da parte anterior, em WillowEngine procure (usando CTRL + F):
SkeletalMeshLODBias=0
ParticleLODBias=0
e substitue por:
SkeletalMeshLODBias=5
ParticleLODBias=5
Procure por “MinShadowResolution=” e substitue por:
MinShadowResolution=128
Procure por “MaxShadowResolution=” e substitue por:
MaxShadowResolution=128
Procure por “DynamicLights=True” e troque por “DynamicLights=False”
OBS: O jogo vai ficar feio
Procure essas linhas:
TEXTUREGROUP_World=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage,IgnoreTextureLODBias)
TEXTUREGROUP_WorldNormalMap=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_WorldSpecular=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_Character=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage,IgnoreTextureLODBias)
TEXTUREGROUP_CharacterNormalMap=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_CharacterSpecular=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_Weapon=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage,IgnoreTextureLODBias)
TEXTUREGROUP_WeaponNormalMap=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_WeaponSpecular=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_Vehicle=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_VehicleNormalMap=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_VehicleSpecular=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_Cinematic=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_Effects=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Linear,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_EffectsNotFiltered=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_Skybox=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_UI=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_Lightmap=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_Shadowmap=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,NumStreamedMips=1,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_RenderTarget=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_MobileFlattened=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_ProcBuilding_Face=(MinLODSize=1,MaxLODSize=1024,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_ProcBuilding_LightMap=(MinLODSize=1,MaxLODSize=256,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_Terrain_Heightmap=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleA
e substitue por:
TEXTUREGROUP_World=(MinLODSize=1,MaxLODSize=128,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage,IgnoreTextureLODBias)
TEXTUREGROUP_WorldNormalMap=(MinLODSize=1,MaxLODSize=128,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_WorldSpecular=(MinLODSize=1,MaxLODSize=128,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_Character=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage,IgnoreTextureLODBias)
TEXTUREGROUP_CharacterNormalMap=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_CharacterSpecular=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_Weapon=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage,IgnoreTextureLODBias)
TEXTUREGROUP_WeaponNormalMap=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_WeaponSpecular=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_Vehicle=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_VehicleNormalMap=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_VehicleSpecular=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_Cinematic=(MinLODSize=1,MaxLODSize=128,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_Effects=(MinLODSize=1,MaxLODSize=128,LODBias=0,MinMagFilter=Linear,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_EffectsNotFiltered=(MinLODSize=1,MaxLODSize=128,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_Skybox=(MinLODSize=1,MaxLODSize=128,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_UI=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_Lightmap=(MinLODSize=1,MaxLODSize=128,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_Shadowmap=(MinLODSize=1,MaxLODSize=128,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,NumStreamedMips=1,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_RenderTarget=(MinLODSize=1,MaxLODSize=4096,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_MobileFlattened=(MinLODSize=1,MaxLODSize=128,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_ProcBuilding_Face=(MinLODSize=1,MaxLODSize=512,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_ProcBuilding_LightMap=(MinLODSize=1,MaxLODSize=128,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_Terrain_Heightmap=(MinLODSize=1,MaxLODSize=128,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_Terrain_Weightmap=(MinLODSize=1,MaxLODSize=128,LODBias=0,MinMagFilter=Aniso,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
TEXTUREGROUP_ImageBasedReflection=(MinLODSize=256,MaxLODSize=128,LODBias=0,MinMagFilter=aniso,MipFilter=linear,MipGenSettings=TMGS_Blur5)
TEXTUREGROUP_Bokeh=(MinLODSize=1,MaxLODSize=256,LODBias=0,MinMagFilter=Linear,MipFilter=Linear,MipGenSettings=TMGS_SimpleAverage)
Resultados
Diferença de antes e depois dos ajustes nos arquivos, feito antes do ULTRA HD Patch
Média de 25 FPS
Média de 61 FPS
Referências
Eu usei como referência alguns sites para screenshots, e lugares da onde eu tirei essas informações.
Wikipédia de ajustes para Borderlands 2[borderlands.wikia.com]
Engine Tweaks to remove lag[pcgamingwiki.com]
Unreal Engine file tweks with explanation[forums.tornbanner.com]