=FN=

27º E.V.C. Falcões da Noite => Falcon BMS => Tópico iniciado por: =FN=Killer online Outubro 05, 2026, 02:22:36 PM

Título: BMS 4.38: DLL que remove as árvores e melhora o FPS (VR e monitor)
Enviado por: =FN=Killer online Outubro 05, 2026, 02:22:36 PM
Quem sofre com FPS no BMS 4.38, principalmente em VR, provavelmente está pagando por árvores. Fiz uma DLL que corta a vegetação na hora de desenhar, sem mexer em nenhum arquivo do BMS. Testei aqui (Quest 2 + RX 9070).



Por que as árvores pesam tanto

Capturei e analisei um frame do BMS, shader por shader:


E o BMS não tem opção para isso: o g_bNewTerrainRenderTrees foi removido no beta, e o gTreesDistanceFactor só esmaece as árvores, não tira a geometria. Editar os arquivos de terreno quebra o multiplayer.

O que a DLL faz

É um d3d11.dll que fica entre o BMS e o Direct3D. Ele reconhece o shader das árvores e encurta essas draw calls antes de chegarem na GPU. Não altera nenhum arquivo do BMS e não grava nada no disco.

Medido em VR (resolução 1.5 + MSAA 2x, mesma missão). Quanto do tempo o jogo ficou preso em 30 fps, conforme a quantidade de árvores mantida:


Em VR o FPS anda em degraus (90, 45, 30), então o que importa é quanto tempo você passa no degrau ruim, não a média.



Instalação

Download: https://www.falcoesdanoite.com.br/tools/bmstune.zip


Não precisa instalar mais nada. Funciona com AMD ou NVIDIA, em VR ou no monitor.

Se já existir um d3d11.dll nessa pasta (de outra ferramenta), renomeie o existente para bmstune_d3d11.dll antes de copiar. A DLL carrega ele em cadeia.

Configuração

O padrão remove todas as árvores. Para trazer parte de volta, abra o bmstune.ini no Bloco de Notas e mude o valor de keepPercent:

Reinicie o BMS para aplicar. Com enabled=0 a DLL desliga sem precisar desinstalar.

Valores intermediários afinam a vegetação por igual em todo lugar. Não é um corte por distância.

Desinstalar

Apague d3d11.dll e bmstune.ini do Bin\x64. Se o BMS não abrir por qualquer motivo, apagar o d3d11.dll resolve.
Título: Res: BMS 4.38: DLL que remove as árvores e melhora o FPS (VR e monitor)
Enviado por: =FN=Killer online Outubro 05, 2026, 03:07:57 PM
Algumas configs que ajudam ganhar FPS extras. Basta adicionar no arquivo User\Config\Falcon BMS User.cfg

// VR
set g_bVRParallelRenderThread 1    // 1 = throughput, 0 = lower latency

// Vegetation besides trees
set g_bNewTerrainRenderShrubs 0    // 8.2 M indices per frame; its draws drop to zero when off
set g_bNewTerrainRenderGrass 0    // never seen running in my flights, off anyway

// Shadows: measured at only 0.71 ms per frame, so turn it on if you want shadows
set g_bShadowMapping 0
set g_bShadowOnSmoke 0            // reported by the community as very expensive

// Environment cubemaps: ~10% of GPU time for under 1% of the geometry
set g_nPrefilterENVSampling 64    // default 256. One pass went from 3.6 ms to 1.3 ms
set g_bRenderNewTerrainToENVMap 0
set g_bRenderNewTreesToENVMap 0
set g_bEnvMapRenderObjects 0
set g_bEnvMapRenderClouds 0
set g_bEnvMapRenderFocusObject 0

// Effects (cost not measured)
set g_bHdrLighting 0
set g_bUseHeatHazeShader 0
set g_bReducePSFires 1

// Texture filtering: helps terrain textures, not the tree shimmer
set g_nAnisotropicValue 16        // needs anisotropic ON in the BMS setup UI
set g_bAlwaysAnisotropic 1