Last update Thursday, May 1, 2008IndexIntroduction
Performance-Enhancing Mods
Other Useful And Essential Programs
Various Web Links
General PC Maintenance/Notes
.ini Settings and Tweaks to ConsiderIntroductionWelcome to The Oblivion Performance Project. This project is aimed at users who have low-end GPUs and/or PCs, want to play a smoother game, or want to take advantage of graphic-enhancing mods without making Oblivion unplayable. Here, one can find useful information on mods, programs, and .ini file settings that can help increase FPS. This is a community project, so all feedback is welcome. Have you found something else to increase FPS? Let us know! Remember to always make a back-up of you .ini file and/or data folder before making any major changes. If you find this project useful, please post, so this doesn't end up getting lost in the sea of threads. TOPP has a more permanent location on
my google pages if you want to bookmark it.
The best other resource for performance tweaking Oblivion is the
Oblivion Tweak Guide. It covers quite a bit that was left out of this project to avoid redundancy, so I highly recommend checking it out.
The Oblivion Performance Project was started by Gorgo in 2006, who, with community support and input, collected information and links on improving the performance of Oblivion and shared it all in a single post in a dedicated thread. Gorgo disappeared in November, and the thread, along with its wealth of information, was purged from the forums. Luckily, I foresaw this, saved the thread to my computer before it got purged, and have since revived the project. I have updated the links and notes, improved the organization and presentation, and added the new performance resources I could locate since the project was abandoned. Thus, I present to you the new and improved TOPP. This is, and always has been, a community project, so if you have any feedback or informational contributions to make, I am receptive to all input. Enjoy!
Performance-Enhancing ModsOptimizers►
Combat FPS OptimizerThis mod changes several .ini settings when you enter combat. It will revert back to you original settings after combat. OBSE is required to use this mod. Made obsolete by Streamline.
►
Nearly Perfect Frame Rate FPS OptimizerAutomatically adjusts the detail levels in the video options while playing. Made obsolete by Streamline.
►
Oblivion Scripts OptimizationOptimizes in-game scripts to strain CPU less.
►
Operation OptimizationImproves performance by optimizing meshes with no quality loss.
►
WHOOSHLets you manipulate the game speed, thus allowing you to slow down the speed to stop stuttering and make gameplay smoother.
Polygon Reducers►
LowLowPoly Grass - LowPoly Grass - LowLowPoly Grass for SI - LowPoly Grass for SI - LowPoly Grass for UL: The Dark ForestThese mods lower the poly count on all grass models. LLPG lowers polys to 4. LPG lowers polys to 8. Vanilla default is 20.
►
LowTriPolyGrassThis mod lowers the poly count on all grass models with 12 different levels.
►
LowPolyTreesReduces the polygon count of trees.
►
Oblivion Polygone OverhaulThis mods removes superfluous polygons.
►
Optimised Distant Land MAXReduces superfluous polygons from distant land.
►
Oscar's Nicer GrassLowers grass length and density.
Purgers►
HTFpcb -
HTFpcb ExtendedThis mod gives you the option to 'purge' textures from memory. The extended version requires OBSE to work, but basically does the same thing. Made obsolete by Streamline.
►
StreamlineIncreases performance by clearing memory buffers intelligently and safely. Now with tons more features.
Removers/Reducers►
De-Parallaxer ModThis mod removes parallax shaders from some in-game items.
►
Dimmer Magic EffectsLowers the magic effect when casting spells
►
Large Battle FPS IncreaserThis mod is similar to the above mod. Runs mostly in the Arena during battle.
►
Music ControllerMakes music play only under certain conditions, allowing bMusicEnabled in the .ini to be changed to 0 for greater frames per second.
►
No Lights FlickerThis mod removes the 'flickering' from all light sources.
►
No Refraction GatesThis mod replaces the vanilla textures of Oblivion Gates.
►
No Refraction SpellsThis mod also replaces the vanilla textures, but for spells.
►
No Wind and
No Wind for SIRemoves the swaying animation from trees and plants.
►
Spells No LightingRemoves lighting from spells.
►
Quiet FeetThis mod removes the 'footstep' sounds from all non-humanoid creatures to prevent stuttering.
►
Quiet Feet MAXReplaces problematic footstep sounds with a 0 byte or smaller sound file to reduce stuttering.
Texture Reducers►LowRises Cyrodiil - Parts:
1 2 3 4 5 -
PatchLowRises for OOO - Parts:
1 2 3 This mod retextures almost every in-game with a smaller texture size that appears to be a larger size.
►Wiseman's Reduced Textures - Parts:
1 2 3 -
ExtrasThis mods also reduces the textures of almost all of the in-game items.
Other Useful And Essential Programs►
Driver CleanerThis cool program removes ALL traces of old drivers. Use this after removing old drivers and before installing new ones.
►
Everest Home EditionProbably considered the best Benchmark utility around. Use this to see how well your PC is performing and/or how it should be performing.
►
Oblivion Script ExtenderThis program 'extends' the amount of scripts in the game. Some new mods require OBSE to run. Follow the link for more details
►
OldblivionThis program is essential for all who have low-end GPUs. It provides support for 1.x Shaders found on older GPU cards.
►
Tweak OblivionThis nifty little program can automatically change your .ini settings and has some pre-set values to choose from. If you are unsure about changing the .ini file yourself, then this program is for you.
►
Wrye BashMulti-purpose program that can remove bloat from saved games, fix certain glitches, and make mods work better together.
Various Web LinksAntivirus►
Avast AntivirusUses less system resources than most antivirus programs.
Defragmenters►
DiskeeperThis cool program is by far the best in disk maintenance.
►
jkDefragFree defragmentor.
►
PerfectDisk 2008Defragments the harddrive. Free trial version available.
►
Ultimate DefragDefragments harddrives.
Guides►
Clean BootThis link will provide you with information on how to perform a Clean Boot in Windows XP.
►
Oblivion Mods FAQAbsolutely essential resource for everything mod-related.
►
Oblivion Tweak GuideThis site offers descriptive explanations of the .ini tweaks found here. One can also find other game tweaks here as well.
►
Optimising OblivionThis site also offers a selection of tweaks for Oblivion as well as other games.
►
Trim Down Windows to the Bare EssentialsGuide to removing parts of Windows that you don't need to improve performance.
►
TuneXPThis site has tips, downloads, and links for tuning-up, tweaking, and optimizing Windows XP.
Other►
AlacrityPCTemporarily shuts down unnecessary services and programs before running a program and starts them up after you finish.
►
AshampooOptimizes system-related settings. Free trial version available.
►
CCleanerRemoves temporary data to increase system performance.
►
FSAutoStartAllows the user the ability to automatically shutdown services and programs to save resources. Has other features such as defragmenting. Has a patch
here.
►
Game XPTweaks and modifies various XP settings (cache settings, CPU priority etc.) and optionally disables or stops several Windows services that are usually not needed.
►
PC Accelerate 2.1Free program that prioritizes processes for optimal performance, fixes registry errors, and cleans the system.
►
Priority MasterClean, high quality program with a free limited version. It automatically gives any foreground program very high priority, and LOWERS the background program priorities, freeing up processor cycles. Unlike many other priority programs it is compatible it is compatible with OBSE.
►
Winaso Registry OptimizerAn advanced registry cleaner and optimizer for Windows that allows you to safely clean and repair registry problems. Free trial version available.
►
Startup CopLet's you easily control which programs start upon boot.
►
Tuneup UtilitiesIncredible program. Optimizes system-related settings, fixes errors in the registry, defragments the registry, and far more things than I will list here. Free trial version available.
Spyware►
Ad-Aware SEKeeps your PC clean from spyware.
►
Pest PatrolFinds spyware that other programs tend to miss.
►
SpybotFinds and removes spyware and blocks malicious websites.
Video Card Stuff►ATI drivers and related stuff - get the latest and Official drivers here.
Official ATI Driver PageATI Tools - a tweaking and overclocking tool for ATI users. Make sure you fully understand what this does before making any changes.
►Nvidia drivers and related stuff
Official Nvidia Driver Page - get the latest and Official drivers here.
Coolbits - a reg key to enable overclocking of your Nvidia GPU. Be very carefull when attempting to do so ! Make sure you fully understand what this does before making any changes.
RivaTuner - similar to Coolbits, alowing one to overclock a Nvidia GPU. Make sure you fully understand what this does before making any changes.
►
TweakRusThis site offers a variety of tweaked GPU drivers.
General PC Maintenance/Notes►Keep in mind that your frames per second (FPS) is determined by your weakest link at any given time, whether that be your CPU, video ram, or whatever.
►HDD Defragmentation - perform routine HDD defragmentations, esp. after installing large programs and/or mods. Fragmentation of a HDD will slow down file access, thus causing performance issues. Windows XP is good with keeping the HDD defragged at all times, but you will need to defrag after those large program installs. I recommend using
Diskeeper for all you defrag needs.
►Remove Dust – Some computers, especially laptops, accumulate dust in the fans and vents that lead to blocked air and overheating. Blowing out the dust occasionally can make a surprisingly significant difference. Use a compressed air canister for unbelievably more effective dust removal than old fashioned blowing.
►Avoid Overheating - Overheating can cause your computer to run significantly slower, so make sure vents remain unblocked so heat can escape, and even consider aiming a fan at your computer if the problem is large enough.
►Update Your Drivers - up-to-date drivers can make a difference. However, this is not always the case. Many people use tweaked drivers that are versions behind the official drivers. Ask around and see which driver fits your PC and GPU the best. It might take some time, but is well worth it.
►Virus/Spyware Scan - If you use Antivirus, perform routine scan to ensure your PC is virus free. Most newer antivirus programs scan for spyware as well. On the flip side, it is recommended to disable any antivirus programs will playing Oblivion (or any other game as well).
►"If you're playing with VSync on, it's practically mandatory to also use the D3D Overrider tool that comes with Riva Tuner. It enables triple buffering in Directx games."- Marty81
►"Also people can !WITH CARE! run msconfig and remove non necessary (!NON-NECESARRY!) startup applications, and with care startup services." -Marty81
►Jaga’s dual core computer .ini recommendations:
CODE
[HAVOK]
bDisablePlayerCollision=0
fJumpAnimDelay=0.7500
bTreeTops=0
iSimType=1
bPreventHavokAddAll=0
bPreventHavokAddClutter=0
fMaxTime=0.0167
bHavokDebug=0
fRF=1000.0000
fOD=0.9000
fSE=0.3000
fSD=0.9800
iResetCounter=5
fMoveLimitMass=95.0000
iUpdateType=0
bHavokPick=0
fCameraCasterSize=1.0000
iHavokSkipFrameCountTEST=0
fHorseRunGravity=3.0000
fQuadrupedPitchMult=1.0000
iNumHavokThreads=3
fChaseDeltaMult=0.0500
iEntityBatchRemoveRate=100
iMaxPicks=40
bAddBipedWhenKeyframed=0
And...
CODE
[BackgroundLoad]
bBackgroundLoadLipFiles=1
bLoadBackgroundFaceGen=1
bUseMultiThreadedFaceGen=1
bBackgroundCellLoads=1
bLoadHelmetsInBackground=1
iAnimationClonePerLoop=5
bSelectivePurgeUnusedOnFastTravel=0
bUseMultiThreadedTrees=1
iPostProcessMillisecondsEditor=50
iPostProcessMillisecondsLoadingQueuedPriority=20
iPostProcessMilliseconds=5
bUseBackgroundFileLoader=0
►"Here's another tip for those with two harddrives.
I installed a fresh copy of windows xp on the second harddrive used for playing Oblivion only while having Oblivion installed on my main drive where my primary windows installation resides. Everytime I want to play Oblivion, I would go to the bios to enable my second harddrive to boot as primary so I can load the clean windows installation. While in the second installation, I run Ultimate Disk Defragger to selectively place the Oblivion folder to the outer edge of the harddrive for quicker access. I also set the virtual memory to a fixed 2.0gig on the secondary drive. Playing OB on the second drive reduced stuttering by 300%!!"- jacky89
►"If you have two fisical HD drivers you could copy the half of the BSA files to the other HD. For ex. leave the textures.bsa file in the Oblivion data folder, and move meshes.bsa and sounds.bsa files to the other drive, in a folder like d:\Ob\ Then you change in the Archive section of the oblivion.ini file, the path to the moved BSA files. For ex. meshes.bsa -> d:\Ob\meshes.bsa You can do this with any BSA file (Frans, etc) but ALWAYS checking the resitered path in the oblivion.ini file. It reduce de stuttering when loading new content in the game!!!!"- skeleton
►"Another tip is that you could unpack the BSA files and pack them again without compression. Do this using BSA Commander software. You can get BSA Commander soft
here: Again less stuttering, comproved!"- Skeleton
►"Another tip: You install a lot of mods, they add little files to the meshes, textures and sound folders.. Using BSA command, you can pack them in a BSA file. For ex. creating a new texture1.bsa file with the content of the modded texture folder. The same with meshes, sound, etc. AND register them in the oblivion.ini file. If you dont have more space to register (max 255char) change the name of the BSA files. For ex. meshes.bsa -> m.bsa. Sounds.bsa -> s.bsa so you could add more BSA files without problems. Then you can delete all these little files, that you already have in a BSA pack file. And again less stuttering!!!!! comproved!"- Skeleton
►"ALWAYS do a HD defrag after these procedures."- Skeleton
►Skeleton's elaboration:
CODE
Ok, this is what I did.
Unpacked this the BSA files to another directory (not Oblivion one)
Oblivion - Textures - Compressed.bsa
Knights.bsa (if you have Knight of the Nine installed)
anda all the SI bsa files.
Exclude Meshes, voices and misc bsa files (the original Oblivion ones, not SI)
Copied all the modded files to the new directory (where the original BSA are unpacked), some overwrites will occur, thats all right.
Now packing all again....
If the texture directory is bigger than 1.5 gb, divide it in two or more BSA files, I divide the by class, armor and weapons, clutter and clothes, etc. this way is easiest to upgrade the BSA files later with new content.
The same with the modded meshes, if everything enter in 1.5 its just fine to do only one BSA.
And the same with the voices, and the same with the sound (FX). I packed sound\voice in one BSA and sound\fx in aonther BSA file.
OK - now you have a new set of textures BSA files, new modded bsas files for meshes, sound, and voice, ok.
Tip, when creating a new BSA file use a short name, an ex. for meshes will be: M2.bsa modded voices will be V3.bsa
Texutes. A.bsa, B.bsa
It is for the 256 character limit in the oblivion.ini archive section.
Now installing the new BSA files
------------------------------------------------------------------
Criate a directoy in the second HD, mini is D:\O
Copy the the new VOICE, SOUND and MESHES files there, adn MOVE the original MESH bsa (better rename it to something like M1.bsa) here too.
Then you can rename the original MISC, and VOICE files (like MISC.bsa, and V1.bsa, V2.bsa), leving them where they are.
Ok, now the oblivion.ini changes....
[Archive]
SMasterMiscArchiveFileName=Misc.bsa <-CHANGE TO THE ORIGINAL (RENAMED) Oblivion - Misc.bsa
SMasterVoicesArchiveFileName2=V2.bsa <-SAME WITH Oblivion - Voices2.bsa
SMasterVoicesArchiveFileName1=V1.bsa <-SAME WITH Oblivion - Voices1.bsa
SMasterSoundsArchiveFileName=D:\S1.bsa <-ADDING THE SECOND DISC DIRECORY, AND RENAMED FILE
SMasterTexturesArchiveFileName1= <-BRANK NOT NEEDED
SMasterMeshesArchiveFileName=D:\M1.bsa <-ADDING THE SECOND DISC DIRECORY, AND RENAMED ORIGINAL MESH FILE
SInvalidationFile=ArchiveInvalidation.txt
iRetainFilenameOffsetTable=1
iRetainFilenameStringTable=1
iRetainDirectoryStringTable=1
bCheckRuntimeCollisions=0
bInvalidateOlderFiles=1
bUseArchives=1
SArchiveList=D:\M1.bsa, D:\T1.BSA (HERE GOES THE NEW TEXTURES FILES), D:\S1.bsa, D:\S2.bsa (moddified sounds), V1.bsa, V2.bsa, D:\V3.bsa (moddified Voices), Misc.bsa
Hope this helps.
Ah, before all this unpack and pack the original mesh file without compression, ALWAYS remember to set the correct tags at BSA Commander!!!!!!!!!!
ALL THIS REALLLYYYY HELP ME WITH SUTTERING, NO KIDDING
.ini Settings and Tweaks to Consider(Note that most of these possible changes were made pre-patch 1.2, and may or may not still be applicable. These tweaks are NOT necessarily recommended, merely options to consider. DO NOT simply apply all of these changes without knowing what you are doing, or you will probably cause more harm than good. Input on updated recommended .ini tweaks is welcome! Make sure you not only make a backup .ini, but that you compare frame rates before and after making changes: changes that speed things up on one compter may cause problems on another.)
General (defaults in parenthesis)
1) uGridstoLoad = 3 (5)
Extend Texture LOD Blocks
uGridsToLoad = 5 (Default)
uGridsToLoad = 5 (Recommended)
Or:
uGridsToLoad = 7 (Not Recommended due to FPS loss, water glitch and 'jump bug')
2) uInteriorCellBuffer=6** (3)
For 1Gb of RAM Change to:
uInterior Cell Buffer = 6**
For 1.5Gb of RAM Change to:
uInterior Cell Buffer = 9**
For 2Gb of RAM Change to:
uInterior Cell Buffer = 12**
3) uExteriorCellBuffer = 36** (36)
uGrid Memory - These settings will automatically change if you modify uGridsToLoad
uExterior Cell Buffer = 36**
For 1Gb of RAM Change to:
uExterior Cell Buffer = 36**
For 1.5Gb of RAM Change to:
uExterior Cell Buffer = 64**
For 2Gb of RAM Change to:
uExterior Cell Buffer = 72**
4) bPreEmptivelyUnloadCells = 0 (0)
This is for unloading cells the game determines are no longer needed.
Streamline does this intelligently, so it is a preferable alternative to changing this value.
5) iPreLoadSizeLimit = * (26214400)
6) bDoTallGrassEffect = 0 (1)
Lowers the height of the grass.
7) bDoSpecularPass = 0 (1)
Removes the 'shine' from objects. Works well, but can crash the game in ceratin areas (Weynon Priory)
8) bUseRefractionShader = 0 (1)
9) iMaxDecalsPerFrame = 0 (10)
Decals refers to blood. The higher the value, the more blood you will see during battle. This can be a FPS killer.
10) bUseJoystick = 0 (1)
There have been many reports of joysticks either not working or crashing the game. This should be disabled.
11) iMaxImpactSoundCount = 16 (32)
12) iNumBolts = 3 (7)
I assume this settings lowers the number of bolts seen when casting 'lightning' spells. Too many bolts can be a FPS killer.
13) bBackgroundPathing = 1 (0)
14) bUseBackgroundPathing = 1 (0)
15) bSelectivelyPurgeUnusedOnFasttravel = 1 (0)
16) iMinGrassSize = 100 (80)
Try higher values for low-end PCs. If you're using LowPolyGrass - change it to 120 for
maximum density without FPS loss.
17) fTexturePCTThreshold = 0.6000 (0.3000)
18) fLODLandVerticalBias = -200.0000 (0.0000)
This setting is recommended to use with Oldblivion.
19) fGrassWindMagnitudeMax = 0.0000 ( )
The maximum amount the grass sways in the wind.
20) fGrassWindMagnitudeMin = 0.0000 ( )
The least amount the grass sways in the wind.
21) bBackgroundLoadLipFiles = 1 (0)
22) bLoadBackgroundFaceGen = 1 (0)
This seems to be linked to bUseMultiThreadedFaceGen, so either have both on or both off.
23) bUseMultiThreadedTrees = 1 (0)
24) bCloneModelsInBackground = 1 (0)
*Jaga Telesin's explanation:
"
iPreLoadSizeLimit is one of those things people thinks work like a regular "cache", when in fact it does not. Larger values in this setting are WORSE for players since the 1.2.x patch. Martigen and I spent a week straight looking into this and a few other performance related INI values, and in fact it's better to keep it lower if possible. The right number is something you arrive at based on what you are using. The default value of 26214400 can be equated to one "unit" of cache. To find out how many units you need, refer to the following list:
- (+1) Vanilla Oblivion + 30 or less mods (all small)
- (+1) OOO, Fran's, Warcry (not FCOM)
- (+1) MMM (not FCOM)
- (+2) FCOM
- (+1) QTP1 (or similar normal-size texture pack)
- (+2) QTP2 (or similar medium-size texture pack)
- (+3-4) QTP3 (or other large-size texture pack)
So for example, someone running Oblivion, a few small mods, OOO and MMM would need a setting of: 1+1+1 (3x default) or 78643200. Generally this floats up and down by 1x, so that person might be able to get away with 2x instead, which is BETTER than 3x. You know you are too low when just after changing it and reloading the game, you start stuttering badly.
A high end machine with 2gb of RAM doesn't need to set their cache at 1gb, that's just insane. They need instead to evaluate what they run and see what setting value they need. If they had Oblivion+mods, FCOM, and QTP3 they would need: 1+2+3, or around 6x default (157286400), which is roughly 153mb of Oblivion cache.
Everyone's experience is unique, so people will have to play with their settings to get it just right. Too large and you will get problems, too small and you'll get different problems with similar symptoms (stutter and lag). Finding the sweet spot is what tweaking this entry is all about. My numbers are just a rough guide, and are by no means the final word on the setting."
**-pk-'s explanation:
"I would recommend leaving uExterior Cell Buffer alone as increasing this value will clutter your ram and vram with additional objects, textures, and actors which can reduce your average fps if your vram is already high from texture packs, or in other cases cause a constant stutter (despite whatever your fps may be) or system lockup. This value can only reduce stuttering when backtracking to previously loaded cells. Also, this setting does not determine how many cells are initially loaded, instead the uGrid is used for this (as well as when on the move).
Worst-case Scenario (clicky) :
The dark blue squares are the loaded cells around the player with a uGrid setting of 5. The light blue cells are to be loaded next. One or both of the yellow cells will be loaded depending on which adjacent squares the player touches before reaching the destination to the upper left. As you can see, this is where the exterior cell buffer of 36 is derived from.
Best-case Scenario :
This shows the player running in a straight line parallel to the cells orientation. The dark blue squares are the loaded cells around the player with a uGrid setting of 5. The light blue cells are previous cells that are still loaded in the buffer. White cells were unloaded from the buffer. In this example, if you were to turn around and run directly back you would not have to load any of the light blue cells; however this is not what the cell buffer was designed for!
Likewise, increasing uInterior Cell Buffer will keep additional unneeded cells. Around 3 to 5 is a good setting for this. Interiors can be very large, 1 interior cell contains everything up until the next door with a loading screen. The reason this was set to 3 is because of actors in adjacent cells (most stores have 1 basement, 1 main floor, and 1 top floor; most caves are typically either a chain with up to 3 rooms right after each other, or 1 large central room with 2-3 rooms branching off). Also note that oblivion gates are exterior cells and not interiors.
I should also mention that walking close to a door leading to a exterior (like inside IC) will seamlessly load a few of the exterior cells on the other side, but this does not happen for doors leading to interiors so there is no reason to have a high interior cell buffer. If you are in an exterior cell and walk through a door with a loading screen leading to another exterior (cities/gates), then the buffer will automatically purge the interior and exterior cell buffers. The biggest problem for having a large interior cell buffer comes from caves/ruins that are attached to the main Cyrodiil exterior since the interior cell buffer will never be purged until you enter a city or oblivion gate.
With an unmodded Oblivion, both interior and exterior cells can take around 3-7Mb of vram each depending on what the cell contains and how many textures are shared between the cells. The cell buffers should be kept as small as feasibly possible. That is uExterior Cell Buffer should be (uGrid + 1)^2 it is impossible to get more efficient than this! And a uInterior Cell Buffer of 3 to 5."
Optional1) bSaveonWait = 0 (1)
2) bSaveonRest = 0 (1)
3) bSaveonTravel = 0 (1)
4) bSaveonInteriorExteriorSwitch = 0 (1)
Speeds up loading times.
5) bPrecipitation = 0 (1)
Turns off the rain effect. Will help with FPS, but you lose immersion.
6) bMusicEnabled = 0 (1)
Turns ALL the music off. Will speed up the game a bit, but at the loss of music.
7) bSoundEnabled = 0 (1)
This setting will tun off ALL sounds in the game. Will speed up the game, but you lose realism. Turning the sound all the way down doesn’t improve performance.