Optimising Oblivion

Ashton Mills | Mar 27, 2006 3:57 PM
Tweaks and tips created and compiled by Ashton to make Oblivion as beautiful as can be.



PLEASE NOTE: This guide has now been superceeded by an all-new version - Optimising Oblivion v2.0

PLEASE NOTE: Part 3 of the guide is now released, covering mods and how to use them, and an extensive list of the best - Optimising Oblivion v3.0


Editor's note. Prechache tweak on page 2 has been updated, if you have previously applied this tweak you need to check the values and add the new settings.

Optimising Oblivion v1.0
Oblivion is beautiful. Like the soft curves of a sleek new case, or the gentle whisper of a powerful video card, it’s the type of game that makes you want to spend quality time with it and whisper to it sweet nothings.

Only, at this stage its performance is arguably related to the canine species.

No problem! We’ve can’t help but fiddle and play to get a smoother and enhanced gaming experience.

It’s early days yet, but this is what we’ve found.

First
The tips and tweaks are a culmination of our own testing and the fantastic community at www.elderscrolls.com/forums

Before you begin set your preferences for distance and graphic levels in game and then exit. Going into the settings menu resets some of what we're about to change in the Oblivion.ini file. Note: turn off ‘Shadows on grass’ and ‘Shadow filtering’ now to remove to big performance killers.

Finally, the configuration file can be found in \My Documents\My Games\Oblivion under your user directory. Back it up before making these changes.

Second
To help measure performance improvements, you can show FPS in game by bringing down console '`' and typing:

setdebugtext 12
tdt

setdubtext is great fun to play with. From this we learned the game keeps texture memory around 256M at all times. Users with 512M cards aren’t likely to see an advantage :p

Third
Disclaimer: This isn't a silver bullet (or arrow, as the case may be). Everyone's machine is different. Your mileage may vary compared to what we've seen, so be sure to try each of these out in relation to your machine and if you don't like the result, simply switch back.

Our testbench consisted of an X2 4400+ with 2GB of memory and dual 7800 cards in SLI.

What we can say after hours of playing with these tweaks is:

a) They make a real, tangible, difference and
b) They are not perfect. The game will sometimes crash on exiting, and other odd glitches may occur. If you have any problems simply copy back the original ini, do what you need to do, and copy back the optimised ini afterwards.

A note on HDR: Oddly the fading grass effect and, it would seem, the ability to take screenshots only work while HDR mode is enabled. If you use AA+Bloom and neither work, you know why!

To enable screenshots, set:

bAllowScreenShot=1    (default 0)

And use the PrintScrn key in game.

Onto the tweaks – we’ve broken them down by looks, performance, and finally mods.

Looks
Oblivion is already hotter than a harem of super models, but there’s more you can do to not only improve the graphics, but boost performance in the process too.

More blood
The essence of every fight, and the marks of your hard won victories, blood is limited to 10 decals and disappears after 10 seconds. Don't they know that blood stains?

fDecalLifetime=1200.0000  (default 10)
iMaxDecalsPerFrame=500  (default 10)

Sets 20 mins and 500 decals. Decals use up bugger all memory, so this is a simple and effective tweak.
Note: if you enter the Video settings in game, fDecalLifetime will be reset to 10, so don't go in there!

No Soup for you!
The low-resolution distant landmass textures have been called ‘soup’ on the official forums. Fix it like so:

uGridsToLoad = 9   (default 5)
uExterior Cell Buffer=100  (default 36)

Stuff to note: Grids must be an odd number. It can be higher, 11+ for e.g., but this starts to cause odd effects like water disappearing and hovering mountains. Fun. The Cell Buffer will raise to match, as grids influences the minimum number of cells loaded. Loading times increase, but it's well worth it.

There are a few side effects to the grids tweak: firstly, water reflections sometimes go astray where landmass meets water, but it’s not too common and easily ignored. Secondly, and more importantly, more memory is needed for the cells and (in our testing) caused weird things like missing textures.

Fortunately this is easily fixed with the following tweak, which also happens to be one of the key performance boosters:

iPreloadSizeLimit=104857600 (default 26214400)

The value is in bytes. If you have a 1G or less machine and this causes troubles, set it to 52428800. Note: This tweak has been updated, if you previously applied this tweak check your values with the above.

  

ABOVE: First with pea soup, then without. Not only does it look better, but with the performance tweaks it does so without losing FPS.

Pretty water
The water is pretty swank in Oblivion, but you can add a bit more eye candy for a small performance hit with the following:

bUseWaterReflectionsMisc=1  (default 0)
bUseWaterReflectionsStatics=1 (default 0)
bUseWaterReflectionsTrees=1  (default 0)
bUseWaterReflectionsActors=1  (default 0)
uSurfaceFPS=15     (default 12)

Turn off ‘Actors’ and ‘Misc’ if you want a balance between the main environment (landmass, buildings) being reflected and performance.

Pretty trees
The impact of this is subtle both in looks and performance. Suit to taste.

bForceFullLOD=1  (default 0)

Introduction movies
Bored of pressing Esc?

SIntroSequence=

(default SIntroSequence=bethesda softworks HD720p.bik,2k games.bik,game studios.bik,Oblivion Legal.bik)

We still love you Bethesda!

FOV
Bringing down the console and typing:

fov 90

Will set your field of view to 90 degrees. Some will find this more appealing. However it resets back to 75 after any zoomed conversations. Setting the value:

fDefaultFOV=90.0000  (default 75.0000)

Will fix this, but your menus will be mis-aligned. Fun to play with for now, but not practical. Watch the official forums for updates on getting this working.

  


ABOVE: 75 and 90 degree FOV.

There’s more you can do to improve visuals in the ini file, but these are the most important. Nothing to stop you experimenting though!

Performance
Quite a few tips add up here to produce a positive result.

Drivers
Shouldn’t need to say it, but for those who need to hear it: update your soundcard drivers and videocard drivers to the latest. For NVIDIA users, there’s an ‘Oblivion compatible’ 84.25 set available here:

http://www.nzone.com/object/nzone_downloads_rel70betadriver.html

And defrag your boot and game partitions. Yes, really, it’s worth the wait.

Settings

1) Set iPreloadSizeLimit as on the previous page.

2) Grass is one the biggest FPS killers outside. You can tweak it down and get a boost to performance without any real noticeable change in gorgeousness.

iMinGrassSize=130     (default 80)
fGrassEndDistance=8000.0000   (default whatever you set in game)
fGrassStartFadeDistance=7000.0000 (default whatever you set in game)

The first setting is the key. It reduces the density of the grass. If you have a middle or low-end machine, try a value of 150 or even 200, and shorten the distances.

3) NVIDIA users: in the NVIDIA control panel with coolbits enabled go Performance & Quality Settings --> Additional Direct3D Settings and set Frames to render ahead to ‘0’ or ‘1’ from ‘3’. Another golden forum tip.

4) Conceiveably, this should help all those with SM 3.0 capable cards, though we’ve seen no measurable change:

Allow30Shaders=1  (default 0)

5) Lower memory machines may benefit from the following, suck it and see:

bPreemptivelyUnloadCells=1 (default 0)

6) Finally, the thread tips in the next section seem to help.

Threads
These settings probably do help -- we noticed Oblivion.exe spawning 12-15 threads over the default 11 after using these (keep in mind some only appear when required, like when fighting), but overall haven't noticed any real measurable boost. Their advantage, if any, is more likely to be with preventing or reducing pauses and slowdowns.

bUseThreadedBlood=1   (default 0)
bUseThreadedMorpher=1   (default 0)
bUseThreadedTempEffects=1  (default 0)
bUseThreadedParticleSystem=1 (default 0)
iNumHavokThreads=3    (default 1)
bBackgroundPathing=1   (default 0)
bUseBackgroundFileLoader=1  (default 0)
iThreads=10      (default 3)
iOpenMPLevel=10    (default 10)

There’s some confusion about the OPENMP section on the forums. Here’s what we know: OpenMP refers to a threading API which, in Oblivion’s case, seems to be used mainly for spawning threaded disk loads to minimise load times. It’s worth noting that from our analysis the game core itself isn’t multi-threaded, and so won’t directly benefit from dual-core CPUs. Kudos to the developers for at least attempting to thread some tasks, going by the above options, but take note none of these tweaks will magically enhance your performance. They also don’t require dual-core, single CPUs can use them just fine.

If you want to get really hardcore you can set the environment variables OMP_NUM_THREADS= and OMP_STACK_SIZE= in Windows and see what happens, but that’s beyond the scope of this guide.

As a final note: don’t necessarily go around turning everything on. It’s just as easy to generate detrimental performance by switching the wrong option. In fact, of the options above, you may even get better mileage by setting bUseBackgroundFileLoader=1 back to ‘0’. It’s a setting that’s in our ‘maybe’ list at the moment.

CODECS -- ffdshow
If you have codec pack installed that uses ffdshow you may find multiple instances of it running during and after you quit the game. This can be solved by disabling the use of ffdshow as a filter for MP3s.

Rather than just remove the codec pack from your system, which could leave it in a worse state, update your codecs to the latest k-lite codec pack from here:

http://www.free-codecs.com/download/K_Lite_Codec_Pack.htm

Then navigate to the K-lite Codec pack ‘Codec Tweaker’ in your Start menu and select to disable the ffdshow codec (and detect and fix any problems, if you wish). This will default to using the Windows Fraunhofer MP3 filter.

Mods
Mods are the golden heart of Bethesda games. Morrowind had thousands of community-made mods. Not all great, of course, and most are to taste, but there were those that became essential for a more enjoyable or balanced gameplay experience.

Oblivion is no different. There are already a swag of excellent mods available, and Atomic recommends the following:

  

TOP: Original murky water. ABOVE: New improved modded water!


We don’t want to favour any particular mod mirror, they all do a good job, so we’ll link the original threads.

Remove the ‘Loading..’ and other annoying text prompts
http://www.elderscrolls.com/forums/index.php?showtopic=296108

Enable a PC-centric UI over the Xbox 360 designed UI
http://www.elderscrolls.com/forums/index.php?showtopic=300177

Much better water
http://www.tessource.net/files/file.php?id=1830

Combined Sneak-Eye Mover & Cross-hair size reducer
http://www.elderscrolls.com/forums/index.php?showtopic=291984

Vagabond's Better Gold v1.0
http://www.elderscrolls.com/forums/index.php?showtopic=289942&hl

TextureFreak's timemod v1.1
http://www.elderscrolls.com/forums/index.php?showtopic=285644

Tandem's slower leveling 1.1
http://www.elderscrolls.com/forums/index.php?showtopic=289263

Brighter torches
http://www.elderscrolls.com/forums/index.php?showtopic=295952

Arrow velocity 1.0
http://www.elderscrolls.com/forums/index.php?showtopic=280550

Arcane velocity 1.0
http://www.elderscrolls.com/forums/index.php?showtopic=288962

Passive beasts
http://www.elderscrolls.com/forums/index.php?showtopic=296125

Portable bedroll 1.1
http://www.elderscrolls.com/forums/index.php?showtopic=284956

Improved hunting
http://www.elderscrolls.com/forums/index.php?showtopic=301008

Better chase camera
http://www.elderscrolls.com/forums/index.php?showtopic=295459

Spookier dungeon music
http://www.elderscrolls.com/forums/index.php?showtopic=299901

Better Beast Tongue
A Wood Elf natural ability that works as expected – made by Atomic’s Editor!
http://www.elderscrolls.com/forums/index.php?showtopic=289133

Place all mod .esp files into your Games\Oblivion\Data directory and then select ‘Data Files’ from the Oblivion launcher to enable them.

Be aware as you explore the modding community that some mods may change game data in a way that breaks your saves, so always play with them in a sandbox first.