Overview
This BO3 optimization guide’s purpose is to give you great looking graphics while keeping FPS between 60-120. Use this guide if you own a medium-high to high-end CPU/GPU setup (ie. at least i5 + GTX 770 or R9 280 and up).
How to Find the config.ini File
It is located in SteamAppscommonCall of Duty Black Ops IIIplayersconfig.ini
My Results While Streaming w/ GTX 980 + i5-4690K
Using OBS 720p@30FPS Preset: Veryfast Bitrate: 3000. Configured identical to my guide with exception of “0” on all Texture settings & SSAOTechnique = “GTAO Low Quality” instead of “Disabled”. 80-120 FPS while streaming. Feel free to follow me @ [link] !
Editing the config.ini
//Frame rate cap (0 for none)
MaxFPS = “120” // 0 to 1000
//Show current framerate on screen
DrawFPS = “1” // 0 or 1
//Toggle framerate smoothing
SmoothFramerate = “0” // 0 or 1
//Horizontal field of view in degrees assuming 16:9 aspect ratio
FOV = “90” // 65 to 120 [Set FOV to your preference, based on mouse DPI and MouseSensitivity. Be aware that I noticed FOV higher than 100 causes quite a dip in FPS]
SplitscreenOrientation = “0” // 0 or 1
//Enable network voice chat
VoiceChat = “1” // 0 or 1
//Enable occlusion of sound behind solid surfaces
SoundOcclusion = “1” // 0 or 1 [Important for accurate sound positioning behind walls]
//Mouse smoothing amount
MouseFilter = “0” // 0 to 10 [Never use mouse smoothing if you want most accurate mouse tracking]
MouseAcceleration = “0” // 0 to 1 [Never use mouse acceleration, as it hinders accuracy]
MouseSensitivity = “1.1” // 0.1 to 30 [Configure this to your own liking, based on FOV and mouse DPI]
//Mouse vertical sensitivity
MouseVerticalSensitivity = “0.022” // -1 to 1
//Enable vertical look with the mouse
MouseVerticalLook = “1” // 0 or 1
//Maximum number of simultaneous human corpses
CorpseCount = “12” // 1 to 32 [The higher this number is, the more memory is used the longer the match goes on]
//Number of frames the driver is allowed to enqueue, a lower value improves input latency but may decrease performance. Set it to 0 to use the system default, usually 3.
MaxFrameLatency = “1” // 0 to 4 [Set this to “1” for the least input lag]
//Fraction of video memory usage to target
VideoMemory = “1” // 0.75 to 1 [Set this to “1” to use all your GPU memory]
SerializeRender = “0” // 0 to 2 [Set to “1” for less input lag if you have an i7 @ 3.4Ghz or higher]
// 0 – Windowed, 1 – Fullscreen, 2 – Fullscreen Window
FullScreenMode = “1” // 0 to 2 [Set this to “1” for highest performance, using Fullscreen Window reduces FPS as your GPU is also rendering everything behind the game as well]
//Window X position
WindowX = “0” // -8192 to 8192
//Window Y position
WindowY = “0” // -8192 to 8192
WindowSize = “1920×1080” // any text [Set this to your monitor’s native resolution]
RefreshRate = “120” // 1 to 240 [Options here are usually 60, 75, 120, and 144, depending on your monitor’s refresh rate.]
//Monitor index to use for fullscreen
Monitor = “1” // 0 to 8 [This option will vary for you if you use multiple monitors and Fullscreen mode. Set it to your desired monitor]
//Vsync only applies in fullscreen
Vsync = “1” // 0 or 1 [Set this to “1” if you use a 120 or 144Hz monitor. Set this to “0” if you use a 60 or 75Hz monitor. There is no input lag with Vsync enabled on 120Hz and 144Hz monitors. Vsync improves mouse tracking and reduces screen tearing by matching your GPU’s output frames to your monitor’s refresh rate.]
//Percentage of window resolution that the 3D scene renders at
ResolutionPercent = “100” // 50 to 200 [Do not downscale your resolution, it is a severe impact to quality and picture clarity. Use this option as a last resort after all other settings are reduced and you are still below desired FPS.]
//Color spaces for monitor output
DisplayGamma = “sRGB” // sRGB, rec.709, or rec.709 – Limited
//Set to 3 to enable triple buffering, useful to prevent large framerate drops when vsync is enabled
BackbufferCount = “3” // 2 to 3 [Set this to “3” if you have a 120/144Hz monitor and Vsync is enabled. Ignore this option if you do not use Vsync.]
//LOD’s to drop on models, lower numbers are higher quality
MeshQuality = “1” // 0 to 2 [“1” for medium-high PCs, “0” for high-end PCs]
//0 – Force 2x anisotropic filtering, 1 – Per material, 2 – Force 16x anisotropic filtering
TextureFilter = “2” // 0 to 2 [Use “2”. 16x anisotropic filtering is very important for picture clarity at far distances. This has zero performance hit to medium to high-end setups.]
//Number of mips to drop on streamed textures, lower numbers are higher quality
TextureQuality = “1” // 0 to 3 [Change this to “0” if you have a GTX 980 or higher.]
//Number of mips to drop on effects and dynamic decals, lower numbers are higher quality
TextureQualityFX = “2” // 0 to 15 [GTX 980 or higher users can set this to “0”.]
//Number of mips to drop on reflections, lower numbers are higher quality
TextureQualityProbes = “2” // 0 to 16 [GTX 980 or higher users can set this to “0”.]
//Number of mips to drop on sun shadows, lower numbers are higher quality
TextureQualityBakedSunShadows = “1” // 0 to 2 [GTX 980 or higher users can set this to “0”.]
//Force lowest mips to stay loaded instead of streaming
TextureLowDetailResident = “0” // 0 or 1
DisableDynamicLightShadows = “0” // 0 or 1
DisableDynamicSunShadows = “0” // 0 or 1
//Resolution of spot light shadows
SpotShadowTextureSize = “512” // 128 to 8192 [GTX 980 users can get away with “1024” or even “2048”. However, increasing the resolution of spot light shadows does not make the game much better looking]
//Resolution of omni (point) light shadows
OmniShadowTextureSize = “256” // 128 to 2048
//Enable multi-sampled soft shadows
ShadowFiltering = “1” // 0 or 1
//Number of lights with otherwise static shadows to force characters shadows on
ActorShadows = “0” // 0 to 16
//Enable volumetric sun and light shafts
VolumetricLightingEnabled = “1” // 0 or 1 [Set to “0” to disable Volumetric Lighting if you have a 600 or mid 700 series GPU, only the 900 series GPUs have a dedicated engine to Nvidia’s next-gen volumetric lighting]
//Number of raymarch samples for sunlight
VolumetricLightingMaxSunSamples = “8” // 1 to 256
//Number of raymarch samples for local lights
VolumetricLightingMaxLightSamples = “24” // 1 to 256 [i7 + GTX 980 or better can set this to “32”]
//Skip every other sample if color is constant
VolumetricLightingSkipSunSamples = “1” // 0 or 1
//Skip every other sample if color is constant
VolumetricLightingSkipLightSamples = “1” // 0 or 1
//Enabled order-independent transparency
OIT = “1” // 0 or 1 [This set to “1” creates a more realistic image of overlapping objects and scenery (like fog/glass)]
//Maximum number of overlapping transparency layers
OITLayers = “8” // 8, 9, 12, or 16 [Users with i7’s + GTX 980 or better can set this to “12”. This option affects processor usage as well, if you plan to stream, reduce this to “8”.]
//Screen-space ambient occlusion method
SSAOTechnique = “Disabled” // Disabled, HEMIAO, GTAO Low Quality, GTAO Medium Quality, GTAO High Quality, or GTAO Ultra Quality [This setting is the biggest FPS hit of all. Set this to “GTAO Medium Quality” only if you own an i7 + GTX 980 or better and don’t mind taking an FPS hit.]
//Anti-aliasing technique
AATechnique = “SMAA 1x” // None, FXAA, SMAA 1x, Filmic SMAA 1x, SMAA T2x, or Filmic SMAA T2x [Try SMAA T2x or SMAA 1x if you find Filmic blurry or you get worse perfromance]
//Per-object motion blur
MotionBlur = “Off” // Off, Auto, or On
MotionBlurQuality = “Medium” // Low, Medium, or High
//Better lighting for skin
SubsurfaceScattering = “1” // 0 or 1 [“1” makes faces look more realistic.]
AutoRestoreFullscreen = “1” // 0 or 1