BATTLEFIELD V 
Tweaks & relevant stuff. I'll keep updating it with time. 
Next time you come here it might look slightly (or completely) differend :)

UPDATE
(don't forget to give me a like & sub)

If you have stuttering, bad performance or other weird behaviour in BFV use this program (you can also cap the fps and not doing the assignments, it helps):
https://www.wagnardsoft.com/forums/viewtopic.php?f=18&t=1256

This is a site DICE made to keep the community up to date with their schedule:


All Testings are in Test Range on LOW Settings1080p GTX980Ti 7600k 5.2Ghz RAM:3200mhz 15-17-17-2 (tweaked 2nd & 3rd timings).  FOV: 104. The way I do it is simple. Don't move the mouse after I spawn & change the commands & settings. These results doesn't mean that there is no change or a bigger/smaller change with some of them under a heavier load in active battle & the game is stressed.


DirectX12
There is no difference between Future FrameRendering On/Off v Dx12. Around 230fps.
At the moment most of the console commands does not give you fps boost. Only RenderDevice.RenderAheadLimit 1 lowers the FPS with around 10fps. Value of 2 is default. these are the only viable options, others just dont give you shit. As we know 1 lowers the inputlag. I assume some commands will help on server with other players.
Scale Resolution 90% gives you around 20-25fps. Scale Resolution 80% around 45-60fps boost. Sometimes I got 300fps for bfief period. AT 60% the fps marker stays at 300fps. Of course this lowers the picture quality.

In DirectX12 these console commands will crash the game:
WorldRender.LightTileCsPathEnable  and maybe 
WorldRender.LightTileCombineOutdoorLightEnable 

DirectX11
In Dx11 there is a big difference between Future FrameRebdering On/Off. Off is 150fps, On gives me around 280fps, more than the 230fps in Dx12. Which is not a big surprise knowing the state of the game and its not "real" Dx12 but just a port. This is different for GTX1000s & (I assume) especially for RTX2000s. AMD cards always run better in Dx12 mode in general although Im not sure in this stage of the game.

RenderDevice.RenderAheadLimit & Future FrameRebdering are the same thing. So be careful. in Dx11 mode dont set RenderDevice.RenderAheadLimit 1 unless you specifically want to disable Future Frame Rendering. Future Frame Rendering On resets RenderDevice.RenderAheadLimit to -1 (default), doesn't matter if you have it in your cfg file.

WorldRender.LightTileCsPathEnable 0 gives me around 35fps boost but lowers the picture quality. Set MotionBlur to 1% for better visibility. Removes the TXAA.

In Dx11 WorldRender.LightTileCombineOutdoorLightEnable command crashes the game on both Dx11 & Dx12 modes for me.

Texture Filtering have very little FPS hit, even on Ultra (1-2fps). I leave it on Medioum oe High. It can help smoothing  your aim if your mouse settings feels little high. higher mouse Polling Rate helps too.

(If you have AMD card and have less fps in Dx12 check your drivers. Make clean uninstal (DDU in safe mode). if you dont know how to do it just leave it, it could ruin your Windows if done incorrectly.)

I will make for Dx12 & Dx11 separate files since Dx12 have few exclusive commands. It's late and I wanna sleep. For now just enter WorldRender.LightTileCsPathEnable 0 for Dx11 &

WorldRender.MotionBlurEnable 0.
PerfOverlay.DrawFps 1
PerfOverlay.FpsDisplayScale 3
PerfOverlay.FpsTimePeriod 1
GameTime.MaxVariableFps 300

Future Frame Rendering option - ON increases FPS by a lot but increases input lag & latency as well. OFF lowers it. Not sure about the names but I think If you play as Medic with Infantry Combat Role you get faster HP regeneration + regenerate to higher HP %. Audio have new 3D Headphones option which suppose to allow you pinpoint enemy position better. With Ambient Occlusion you might see enemy better since there is no spotting. Also Mesh on High, try Textures on Medium or High. Ultra is almost the same as High on all settings but have bigger performance hit so I dont recomend it.

Also there is a bug with the visual presets at the moment.  If you switch from High to Medium it will stuck to High not Medium and vice-versa. You have to go from low to ultra, otherwise the bug stays. There is one more bug when you get promoted but you dont unlock the weapon you suppose to. The workaround is you have to stay in the game and wait for the next map to load & then exit.

Right now many commands are bugged. You won't see much benefit from performance oriented commands for now untill the game is fixed.
These are just some comands for BFV. Some of them are still buggy so dont include them all in your cfg file. Keep in mind I just assume the values & might be differend for some of them. Those Im not 100% sure I leave without values. Not many new comands though. 

GameTime.MaxVariableFps 300
PerfOverlay.DrawFps 1
PerfOverlay.FpsTimePeriod 2 - this is the time FPS counter refreshes. it might use less resources for that
PerfOverlay.FpsDisplayScale 2 or 3 - this makes your FPS counter bigger on the screen
PerfOverlay.FpsDisplayAlpha
screenshot.layermode

WorldRender.MotionBlurEnable 1
WorldRender.MotionBlurQuality 0
WorldRender.MotionBlurMaxSampleCount 0 - All other "Blur" comands work if WorldRender.MotionBlurQuality is 1 (enabled). There are few more but im lazy now.
WorldRender.MotionBlurRadialBlurMax 1
WorldRender.FilmicEffectsEnable 0 - Dont use it. It will crash BFV while loading a map. It have an option in the game menu anyway. 
WorldRender.FrameSynthesisMode - any suggestions?
WorldRender.EmitterSunTransmittanceMapEnable 0
WorldRender.EmitterSunTransmittanceMapResolution 
WorldRender.LightTileCombineOutdoorLightEnable 0
WorldRender.SpotLightShadowmapEnable 
WorldRender.SpotLightShadowmapResolution
WorldRender.LightTileCsPathEnable 1 -  0 renders lighting effects on cpu & 1 render them on gpu.
WorldRender.PlanarReflectionEnable 0 - not sure if its still there.
WorldRender.TransparencyShadowmapsEnable 0
WorldRender.ResolutionScaleDynamicDrawDebug
WorldRender.ResolutionScaleDynamicDrawDebug 1
WorldRender.ResolutionScaleDynamicGraphMax 
WorldRender.InterPupillaryDistance

If you play on ULTRA try these RayTracing commands. It shuld disable Screen Space Reflections and maybe give you few more FPS. Its enabled in ULTRA. If you have issues try 
PostProcess.ScreenSpaceRaytrace32bitEnable 1 
or lower the quality with 
PostProcess.ScreenSpaceRaytraceQuality

PostProcess.ScreenSpaceRaytraceEnable 0
PostProcess.ScreenSpaceRaytraceDeferredRsolveEnable 0
PostProcess.ScreenSpaceRaytraceSeparateCoverageEnable 0
PostProcess.ScreenSpaceRaytraceFullResEnable 0
PostProcess.ScreenSpaceRaytrace32bitEnable 0
PostProcess.ScreenSpaceRaytraceQuality 0

PostProcess.BlurMethod 0
PostProcess.DofMethod 0
PostProcess.ForceDofEnable 0
PostProcess.SpriteDofEnable 0
PostProcess.SpriteDofHalfResolutionEnable - maybe 1 if  PostProcess.SpriteDofEnable is 1
PostProcess.DynamicAOEnable 0
PostProcess.DynamicAOMethod 0
PerfOverlay.DrawGPUGraph 1 - not working for now
PerfOverlay.DrawCPUGraph 1 - not working for now
PerfOverlay.DrawGraph
PerfOverlay.DrawGraphMethod
PerfOverlay.DrawFrameGraph 
PerfOverlay.DrawFrameIndexSize
PerfOverlay.DrawFcat 1 or 0
PerfOverlay.DrawVblankGraph 1
PerfOverlay.LegendDisplayFormat
PerfOverlay.DrawFpsMethod
PerfOverlay.Enable
PerfOverlay.LegendDisplayFormat

RenderDevice.TripleBufferingEnable 0 - not sure id its still there. nvidia cards have it in Control Pannel so this is for AMD cards I guess. 
RenderDevice.Dx11Enable 0 - This comand isn't working anymore. Only Dx11Dot1
RenderDevice.Dx11Dot1Enable 0
RenderDevice.Dx11Dot1RuntimeEnable 0
RenderDevice.DxDiagDriverDectectionEnable 0 

RenderAheadLimit 0 - not sure if its stilll working since there is Future Frame Rendering option.
Render.VSyncFlashTestEnable 0
Render.DxrEnable 0 - This is the technology name. Nvidia calls this RayTracing-marketing. You can use Dxr with non RayTracing cards like 1080ti or AMD cards for example with big performance hit. IDK if you can do it in BFV though...The other new Nvidia technology is way more interesting & that's DLSS. It uses the new Tenser & RTX cores to render the picture in lower resolution and upscaling it giving you better visuals & performance. DLSS is Anti-Aliasing technology.
Render.DisplayMappingSdrPeakLuma 0 to 1000 - With this you can adjust the lighting if the picture is too bright or too dark for you & help you see enemy better.
I think 1000 is default. Sometimes the picture looks washed out because of implementation of HDR & that can help if you dont have HDR monitor. BTW HDR have some performance impact so keep that in mind.
Render.DisplayMappingHdrPeakLuma - You need to have HDR monitor and Windows v1803 & above..
Render.OutputBrightnessTestEnable 0
Render.ClampGPUMemory 1 or 0 - its an option in the game.

WorldRender.PlanarReflectionEnable 0 - not sure if its still there.
WorldRender.DxDeferredCsPathEnable 0 - not sure if its still there.
WorldRender.ResolutionScaleDynamicDrawDebug 1
WorldRender.ResolutionScaleDynamicGraphMax 
WorldRender.FxaaEnable 0

Thread.ProcessorCount 4 - Depends on how many Threads yor CPU have.  For 4 cores with Hyperthreading/Simultaneous Multithreading (SMT) type 8 on both comands.
Thread.JobThreadPriority 4 - you need this as high as possible, Check with Render.DrawScreenInfo 1. 4 core CPUs can have 4 max.
PerfOverlay.FramefileLogEnable 1 - adds txt file in Documents with your low, med, high FPS values.Like benchmark.




You can tweak the PROFSAVE_profile_synced if you want more control over the mouse & PROFSAVE_profile too. They are located in Documents\Battlefield V\settings. As always my goal is performance not pretty visuals. You can't tweak these in the game.


GstRender.AnisotropicFilter 0
GstRender.Enlighten 0
GstRender.MotionBlur 0.000000
GstRender.ShaderQuality 0.500000 , 1.000000 or 0.000000 - test it.You can set whatever you want.
GstRender.ShadowQuality 0
GstRender.StereoConvergence 0.500000 , 1.000000 or 0.000000 - test it.You can set whatever you want but I give these settings.
GstRender.TransparentShadows 0
GstRender.FullscreenRefreshRate - the value here is exact refresh rate of your monitor. You can use it when you cap your FPS with GameTime.MaxVariableFps console comand for no stuttering. Most people cap it 2-3 lower to your monitor refresh rate but this is better.
GstRender.Contrast 0.500000 - thats default
GstRender.ConsoleAntiAlias 0 - no point for doing that but you can
GstInput.MouseSensitivity 0.001000 - More precise mouse sensitivity tweaking.


To remove completely Anti-Aliasing set Motion Blur to 1% (or more). On 0% the lowest AA setting is TAA. 1% allowes you to disable it + Motion Blur is virtually not existent. The picture is much clearer & sharper. That way you start seeing details & enemies are more visible.


Dx12 Mode Speciffic Comands:

RenderDevice.ComputeQueueEnable 1
RenderDevice.CopyQueueEnable 1
RenderDevice.MemoryManagerEnable 1
RenderDevice.UseReservedJobThreads 1

Try Dx12 mode. Future FrameRendering OFF doesn't have so negative effect on your FPS like in Dx11 mode. Also if you have AMD card try DX12. They generally perform better than Nvidia in Dx12. 


If your GPU usage is lower % than usual use these two comands will help. Also try FutureFrameRendering On-this option also helps with stutters/frame drop.


If you have 6/12 thread CPU - Thread.ProcessorCount 12Thread.JobThreadPriority 12

If you have 4/8 thread CPU - Thread.ProcessorCount 8Thread.JobThreadPriority 8
(Its the same for 8/8 thread CPUs # 9700k)
If you have 8/16 thread CPU - Thread.ProcessorCount 16Thread.JobThreadPriority 11  or 16 (not sure here.Havent test this.JobThreadPriority max should be 11 anyway. It might not have a difference)
If you have 4/4 thread CPU - Thread.ProcessorCount 4Thread.JobThreadPriority 4

You can set the two comands 12/12 or 8/8 but it will use 12/11 or 8/7 & so on. If not set properly you could have very low FPS. For ex. 12 on both comands while have 4 core CPU is bad. Ideally Thread.JobThreadPriority should be 1 less than the number of your CPU threads. 11 is maximum.  You can check it with this comand: Render.DrawScreenInfo 1

So choose one of the 4 variants depending on you CPU.These are the most common CPU configurations.


Thread.ProcessorCount 12
Thread.JobThreadPriority 12 (should show 11 max)

Thread.ProcessorCount 16
Thread.JobThreadPriority 16 or 11 (again - It might not have a difference, should show 11 max)

Thread.ProcessorCount 8

Thread.JobThreadPriority 8

Thread.ProcessorCount 4

Thread.JobThreadPriority 4


Also if the game crashes when loading the map and you use cfg file remove some of the comands because some are Dx12 specific or are bugged at the moment. For example these comand crashes the game when loading a map:  
WorldRender.LightTileCsPathEnable 
WorldRender.LightTileCombineOutdoorLightEnable 

Also DICE are limiting the fps for now. There is a bug. If u have higher fps your hitreg will be better than players with lower fps. Thats the reason people with higher end systems have lower fps than usual. Im not talking about the 200 fps limit. Its something else.

These two does not work in BFV as well:
Thread.MaxProcessorCount
Thread.MinFreeProcessorCount

There is new Nvidia Profile Inspector 2.1.3.20 - 3.3.6.2 with BFV profile. Maybe it will help someone:

https://www.softpedia.com/get/System/System-Info/NVIDIA-Inspector.shtml


If the game is crashing & throwing you out with no error or DirectX error it's most likely memory related. It's respectively eighter RAM or vRAM (GPU memory). Go to default settings.

For those who can't enable Dx12 try to disable compatibility (I see many people use this tweak but it works if you have issues, wont improve your hit-reg or something):

Right click on the bfv.exe (or Origin.exe. install file or whichever file you set it)
Click on Properties> Compatibility tab. Uncheck everything>Apply.

You also can try enable it manually from PROFSAVE_profile:
GstRender.Dx12Enabled 1Its located in Documents\Battlefield V

You can delete the files in Documents\Battlefield V/shaders/ and maybe /Documents/Battlefield V/twinkle, just in case.

This is my cfg file for now. It will change when DICE start finnishing & fixing the game:
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-

Dx11 ONLY:
PerfOverlay.DrawFps 1
PerfOverlay.FpsDisplayScale 2
PerfOverlay.FpsTimePeriod 1
PerfOverlay.FpsDisplayOffsetX 30
PerfOverlay.FpsDisplayOffsetY 50
GameTime.MaxVariableFps 300

WorldRender.MotionBlurEnable 0
WorldRender.LightTileCsPathEnable 0
WorldRender.TransparencyShadowmapsEnable 0
WorldRender.SpotLightShadowmapEnable 0
WorldRender.PlanarReflectionEnable 0
WorldRender.FrameSynthesisMode 0

RenderDevice.Dx11Dot1Enable 0
RenderDevice.Dx11Dot1RuntimeEnable 0
RenderDevice.RenderAheadLimit 1
RenderDevice.TripleBufferingEnable 0
RenderDevice.StereoConvergenceScale 0
RenderDevice.StereoSeparationScale 0
RenderDevice.StereoSoldierZoomConvergenceScale 0

Render.DxrEnable 0
Thread.ProcessorCount 4
Thread.JobThreadPriority 4

PostProcess.DynamicAOEnable 0
PostProcess.ScreenSpaceRaytraceEnable 0
PostProcess.ScreenSpaceRaytraceDeferredResolveEnable 0
PostProcess.ScreenSpaceRaytraceSeparateCoverageEnable 0
PostProcess.ScreenSpaceRaytraceFullresEnable 0
PostProcess.ScreenSpaceRaytraceQuality 0
 _________________________________________________________________________
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-

About Thread.ProcessorCount & Thread.JobThreadPriority commands. The value is your CPU thread number. My 7600k have 4 cores 4 threads so I put 4. Yours might be 6, 8, 12, 16 or more depending on your CPU.
For RenderDevice.RenderAheadLimit 1 for lower input lag, 2 is a nice middle between slightly more fps & lower input lag.


How to "fix" your game stuttering (its more of a bandaid):


Main Page:  http://n1kobg.blogspot.com/



5 comments:

  1. My RenderDevice.RenderAheadLimit setting changes itself.
    Created a post on reddit about it with video.
    https://www.reddit.com/r/BattlefieldV/comments/bhf5pk/bf5_bug/?utm_source=share&utm_medium=web2x

    ReplyDelete
    Replies
    1. Yes, RenderDevice.RenderAheadLimit is Future Frame Rendering in the game options. Its been always in the game. DICE just added a button for it in BFV. In Dx11 it has big performance impact. In Dx12 is working normally.At least that was the case few patches ago.

      Delete
    2. Try RenderDevice.RenderAheadLimit 2. Thats a good middle. On 0, 1 & 2 the fps is significantly lower but the input lag is better.

      Delete
  2. I dont condone hacks. Dont post any more hacks for games here please.

    ReplyDelete
  3. I have a question if there is any possible option to make tutorial for pubg

    ReplyDelete