TES4: Oblivion FPS Tutorial
Still here? Good.
Welcome to my Oblivion FPS tutorial to optimize your performance and overall experience. If you're not satisfied with your performance AFTER setting ever god damn setting to super duper low, then please read on. This guide is mainly for people with low end computers. If you can run Oblivion on high with stock settings, then please go away. :)
I AM NOT RESPONSIBLE FOR ANY DAMAGE TO YOUR GAME OR COMPUTER IF YOU CHOOSE TO FOLLOW THIS TUTORIAL! You have been warned fairly.
We'll first be editing the Oblivion.ini file. You'll need Notepad, but I prefer using Be sure to install the latest OFFICIAL patches HERE before doing anything. Notepad++.
First off, navigate to your Oblivion.ini file at C:\Documents and Settings\USERNAME\My Documents\My Games\Oblivion.
Refer to Screenshot A
Before we edit anything, make a backup of your original Oblivion.ini file just in case. Now, open your Oblivion.ini file with either Notepad or Notepad++. I will be using Notepad++ for this tutorial.
Now, I will organize the commands in categories. First, I will do the most effective commands, then the less effective, and optional/no difference at all commands.
Thanks to TweakGuide.com's tweak guide on Oblivion. Clicky
RECOMMENDED COMMANDS bAllowConsole=1 - This setting allows you to use the in-game console (See Console Commands section) if set to 1. There is no reason to set it to 0.
iMaxDecalsPerFrame=10 - This value determines the maximum number of decals (blood marks) visible on screen at any time. Note that decals can have a noticeable impact on performance, so raising this value can reduce FPS during combat.
fDecalLifetime=10.0000 - This value determines the time in seconds before decals (blood marks) disappear. The higher the value, the longer the blood marks will take to fade away. Note again that decals can have a noticeable impact on performance.
bUse Joystick=0 - Set to 0 if you don't have a joystick connected, some people claim this improves FPS and resolves mouse/input lag.
bInstantLevelUp=0 - If set to 1 allows your character to instantly level up without having to rest in a bed.
iShadowMapResolution=1024 - This variable determines the resolution of the shadow maps. By lowering this value (always using a multiple of 8), you can gain significant FPS in areas with dynamic shadows in return for much 'rougher' looking shadows. For example, try a value of 128 to see the performance and image quality impact.
bDoSpecularPass=1 - If set to 0, removes the shiny effect on most appropriate surfaces (See Specular Distance in the In-Game Settings section). This can noticeably improve FPS on many systems, but can also cause crashes in certain areas (e.g. Weynon Priory). You can try to reduce these crashes using this mod.
bDoDiffusePass=1 - If set to 0, removes all dynamic lighting and hence is not recommended. Use this only if you're desperate for some FPS and if you REALLY don't care about graphics.
MaxLandscapeTextures=0 - If set to 1, this setting appears to increase the use of generic landscape texture in place of more specific ones. This saves on texture memory, but can cause graphical oddities, such as roads being replaced with grass textures, or clear lines where different types of textures should blend into each other. It may also cause problems with the LOD Texture Replacement mods, and hence is only recommended for those with very low-end graphics cards struggling with stuttering and low FPS.
bMusicEnabled=1 - If set to 0, turns off all background music. This will detract from the atmosphere of the game, but can noticeably improve stuttering on some systems, as background music dynamically loads throughout the game.
The above settings control the distance at which grass ends, and the distance shortly before that which it starts to fade away. You can lower these values to increase performance, and also by reducing the difference between the FadeDistance and EndDistance.
bGrassPointLighting=0 - Setting to 1 provides more accurate lighting on grass at the cost of reduced FPS.
bDrawShaderGrass=1 - If set to 0 removes all grass which obviously improves FPS in such areas at the cost of realism.
iTreeClonesAllowed=0 - If set to a particular value, appears to determine in part the number of possible tree clones (copies of the same basic tree type) which are generated. The higher the value, the greater the potential to improve FPS and stuttering by reducing texture types and processing time, however I have not seen a major performance or visual difference from various values of this setting.
iCanopyShadowScale=512 - This value determines the appearance of tree shadow textures - lowering the resolution value (in multiples of 8) will make the tree shadows appear finer and more detailed, but this will also introduce a visible tiling pattern to the shadows. See an animated screenshot comparison by clicking this link: Obl_CanopyShadowScale.gif (768KB). Altering this value doesn't appear to have a significant impact on FPS, but may do on older graphics cards.
bEnableTrees=1 - If set to 0, turns off all trees, boosting FPS but making things highly unrealistic outdoors.
bForceFullLOD=0 - If set to 1 uses full Level of Detail (LOD) for trees, making them appear slightly better at the cost of a small FPS drop.
bUseWaterDepth=1 - If set to 0, water becomes completely opaque (i.e. you cannot see into it at all from above). This can resolve some of the visual glitches which result from changing the uGridsToLoad value, and can also improve FPS, at the cost of some realism.
fSurfaceTileSize=512.0000 - Controls the size of the water texture grids. The smaller this value, the smaller the size of texture tiles, and the faster and more tightly packed the water ripples will appear.
bUseEyeEnvMapping=1 - If set to 0, disables environment mapping on character eyes. This makes eyes look slightly less natural and not influenced by the character's surroundings, but can improve FPS slightly.
Less Effective Commands uInterior Cell Buffer=3
uExterior Cell Buffer=36
The above values determine how many cells (whether for interior or exterior areas) are buffered into RAM. Note that usually the value of the Exterior Cell Buffer variable is automatically set by the engine based on the size of the uGridstoLoad variable. The higher that variable is, the higher the engine will raise this value. However if you want to smooth out your FPS, try manually setting a higher value for both of these, depending on how much RAM you have. For 1GB I recommend doubling the values (6 and 72 respectively). For 2GB of RAM, I use 16 and 102 respectively. For higher amounts of RAM, try raising them higher, however note that you should also raise the iPreloadSizeLimit value below.
iPreloadSizeLimit=26214400 - This setting appears to determine the maximum amount (in bytes) of RAM allowed for preloading game data. The higher the value, the more chance you have of reducing stuttering. The default value equates to around 25MB (divide the setting by 1024 to get KB, then by 1024 again to get MB). For those with 1GB of system RAM, try doubling the variable to 52428800. For those with 2GB, try double again at 104857600 (100MB). You can raise these values even further to experiment, however note that raising this to a large amount doesn't force all the game data to sit in RAM, and can actually cause crashes. I suggest the maximum anyone should set this to should be around 262144000 (250MB), even for 2GB of RAM. Make sure to raise your Cell Buffer values accordingly (see above).
bPreemptivelyUnloadCells=0 - If set to 1, this setting attempts to unload cell data it thinks you won't need. This can help those with less than 1GB of RAM, however with 1GB or more of RAM, I recommend leaving it at 0 for greatly reduced stuttering.
Importantly: As you raise the values of iPreloadSizeLimit and the Cell Buffer variables further above, you should make sure bPreemptivelyUnloadCells is set to 0 to take advantage of such additional memory allocation, otherwise it will actively work against the benefits brought about by the other tweaks.
iMaxImpactSoundCount=24 - This option determines the maximum number of channels used for different sound effects. Reduce it 24 or 16 to remove some of the sound effects in return for a performance boost and stuttering reduction. Note however that this setting can crash your system if set too low, particularly with hardware acceleration enabled.
bDSoundHWAcceleration=0 - If set to 1, uses hardware acceleration (i.e. your sound card) to reproduce audio. This provides the best audio quality, however if you are having problems such as odd crashes, you can try a value of 0 to disable hardware sound acceleration.
That's it for tweaking our Oblivion.ini file. Just save when you're done. Try going in-game and see if your performance improved at all.
If you're satisfied with the results, then happy gaming!
But, if you're not, then we'll be looking at installing performance mods.
Optional Tweaks bUseHardDriveCache=1 - Although Windows should be using your hard drive cache by default for all drive operations, setting this variable to 1 should ensure it does. Note that some people report that enabling this setting can increase stuttering, so experiment to see if it helps or makes things worse for you. If in doubt, leave it at 0.
bPrecipitation=1 - If set to 0, disables rain effects. For all the performance mods you'll ever want and more, visit this
Thanks for reading my tutorial! Hope this helped. forum.