Welcome
to The Oblivion Performance Project. This project is aimed at users who
have low-end GPUs and/or PCs, want to play a smoother and more stable
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 is also on the official Oblivion Mod Forums here, where you can comment, ask questions, or give suggestions.

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. However, most agree that some of its suggestions cause more
harm than good, so be careful following its suggestions and do your
research before making changes.

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 2006, and the thread, along with its
wealth of information, was purged from the forums. Luckily, I prepared
for 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 best new
performance resources the community and 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!

Note: Some of the resources here that work
just fine for some users may cause problems for others, so employ
caution and common sense when trying out new programs.

Performance-Enhancing Mods

Optimizers►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.►Oblivion Stutter RemoverThis handy mod reduces stuttering by changing Oblivion game logic.►Operation OptimizationImproves performance by optimizing meshes with no quality loss.►O.R.B. Directory SplitterTakes
an unpacked BSA directory and splits it to a user-defined number of
directories which you then can place on separate harddrives for
increased performance.►WHOOSHLets you manipulate the game speed, thus allowing you to slow down the speed to stop stuttering and make gameplay smoother.►Windom Earle_s Oblivion Crash Prevention SystemPrevents many crashes and tries to fix any invalid data that caused them, including the crash on exit!

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.

Texture Reducers►LowRises Cyrodiil - Parts: 12345 - PatchLowRises for OOO - Parts: 123This mod retextures almost every in-game with a smaller texture size that appears to be a larger size.►Wiseman's Reduced Textures - Parts: 123 - ExtrasThis mods also reduces the textures of almost all of the in-game items.►VibrantDistantLOD and Vanilla Textures EnhancementsMakes things that are far away look more detailed and colorful while maintaining or possibly even improving performance.

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.►TES4EditViews .esp files, detects conflicts, and allows for mod cleaning.►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 Links

Antivirus►Avast AntivirusUses less system resources than most antivirus programs.

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. Be warned, this can cause major problems such as
making both Oblivion and Windows unable to startup, so only use it if
you know what you are doing and are willing to take the risk.►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.

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 stuffOfficial 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. FAQ and guide.►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.►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).►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.►Install Oblivion on a separate drive.►Clean mods carefully with tes4edit.►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.►"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►"It
should probably be noted triple buffering uses more video ram. In
testing I saw an increase of 20 to 60 megs of vram used, depending on
where I was. It does look a little better for those that have the vram
to spare." -process►"Also people can !WITH CARE! run msconfig and
remove non necessary (!NON-NECESARRY!) startup applications, and with
care startup services." -Marty81►"Put [Oblivion] on a drive seperate to your pagefile, and have your pagefile on the fastest drive" -stet►"Making
BSAs was far more efficient. With loose files, defrag will put them
where it thinks is best. Which may separate them by quite a bit. As a
BSA, it's all one file to the OS. So there's much less time spent
running all over the platter to get the stuff . . . The bigger key here
is that getting it to fall in one large contiguous chunk so the disk
access is smooth and not jumping all over the platters. Pick a size for
the paging file that's large enough to handle 4x your physical RAM.
Don't just let Windows manage it, because Windows does a lousy job of
this and leads to mass fragmentation." -Arthmoor►The_TJ's response:

CODE

Usually,
one should not change the pagefile size unless one gets messages that
it is too small. The pagefile works in a complementary way to the RAM,
which means that the more RAM you have the less pagefile you need. It
may be true that when Windows changes the size of the pagefile it
causes some fragmentation. It may be possible to counteract this (and
eliminate overhead) by setting the pagefile minimum and maximum at the
same size, rather than allowing it to change in size during operation.
For the best results, defragment your hard drive before doing so,
preferably not by the Windows defragmenter (which isn't very good). As
a general rule of thumb follow the scheme below:

If you are running a 32-bit Windows version and:

1. You have less than 2 GB of RAM, set pagefile at 1.5 times your RAM 2. You have between 2 and 4 GB of RAM, set pagefile at 2 GB
3. You have more than 4 GB RAM, you probably have 64-bit Windows
because anything over 4 GB of RAM doesn't work on 32-bit computers and
setting pagefile higher than 4 GB has no use either

If you are running a 64-bit Windows version:

1. Click Start, point to Administrative Tools, and then click Performance 2. Click System Monitor 3. In the right pane, click + (the Add button) 4. Click Use local computer counters 5. In the Performance object list, click Process 6. Click Select counters from list, click Page File Bytes Peak, click Add, and then click Close 7. Let the counter run while playing Oblivion, or whatever it is you spend your time on 8. Note the maximum value for the Page File Bytes Peak counter, multiply that value by 0.70 and set your pagefile accordingly 9. The theoretical size limit of the pagefile for 64-bit Windows is 16 TB

►"The
laws of physics say that the outer edge [of the hard drive] is going to
be faster, although yes, it won't be night and day. The outer edge of a
spinning circle is:

1) Moving faster - if you don't believe me, go take a spin on this.

2)
Larger - more data is squeezed in a skinnier space. This is also an
advantage of having very large drives. If you have 1TB of clusters on
3.5" of hard disk, there's going to be even more data crammed in there.
And this is why your Velociraptor is a 2.5" drive (in a 3.5"
enclosure). The data is more crammed on 2.5 inches, and it's less space
for the HD head to cover.

In the end, there will not be a huge
difference, but there is a difference between the inner bowels of the
disk and the outer edge." -sebastian_7►Jaga’s dual core computer .ini recommendations:

►"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.bsaKnights.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)

Copiedall the modded files to the new directory (where the original BSA areunpacked), some overwrites will occur, thats all right.

Now packing all again....

Ifthe texture directory is bigger than 1.5 gb, divide it in two or moreBSA files, I divide the by class, armor and weapons, clutter andclothes, etc. this way is easiest to upgrade the BSA files later withnew content.

The same with the modded meshes, if everything enter in 1.5 its just fine to do only one BSA.

Andthe same with the voices, and the same with the sound (FX). I packedsound\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.bsaTexutes. A.bsa, B.bsaIt 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

Copythe the new VOICE, SOUND and MESHES files there, adn MOVE the originalMESH 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.

Ah, before all this unpackand pack the original mesh file without compression, ALWAYS remember toset the correct tags at BSA Commander!!!!!!!!!!

ALL THIS REALLLYYYY HELP ME WITH SUTTERING, NO KIDDING

►"Has
anyone else tried patching your Oblivion.exe to be Large Access Aware?
I applied the /LARGEACCESSAWARE flag to my Oblivion.exe file using
LaaTiDo (after backing up my original, of course!). In short, the
/LARGEACCESSAWARE flag enables an application to access up to 4GBs of
RAM in a 64-bit OS as opposed to the standard 2GBs for 32-bit
applications in 32-bit Windows. This does seem to help, as I can
play a bit longer between CTDs... It may just be a placebo affect,
though. Since patching, I've seen Oblivion.exe using up to 2.2GBs (of
4GBs in 64-bit Vista) of RAM. I've also seen 95% total RAM usage using
the display on my G15 keyboard while playing. While sitting idle, my
system's RAM usage is about 15%, for comparison. I'm not sure if I
can recommend doing this, but it seems to help a bit. Oblivion wasn't
designed with this flag, though, so use at your own risk... It
certainly doesn't seem to hurt if your system has the RAM to spare, as
the game runs at least as well as before, and even works with OBSE."
-Valamoor►"Here's a tip for everyone who is testing various INI
tweaks: don't make the changes in the INI directly, it gets too hard to
remember everything that was changed. Instead, and OBMM is required,
create an OMOD with no files in it. Click on Create Script, and use
EditINI to make the changes. This way, you can track your changes,
quickly insert or remove your changes by activating/deactivating the
OMOD, and can document what you tried in comments." -Asesino

.ini Settings and Tweaks 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. The 1.2 Oblivion
patch updates the .ini file with fairly good default settings for the
most part, so don't change anything you aren't sure about unless you
are willing to test the difference and reverse the change if it doesn't
work out. Input on updated recommended .ini tweaks is welcome! Make
sure you not only make a backup .ini, but that you compare frame rates
and game stability before and after making changes: changes that speed
things up on one computer may cause problems on another.)

*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."

Optional
(Defaults are in parentheses. Note that most of these recommendations
were made pre-patch 1.2, and may or may not still be applicable. These
tweaks are NOT necessarily recommended, merely options to consider.)1) 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.2) bDoTallGrassEffect = 0 (1)Lowers the height of the grass.3) bDoSpecularPass = 0 (1)Removes the 'shine' from objects. Works well, but can crash the game in ceratin areas (Weynon Priory)4) bUseRefractionShader = 0 (1)5) 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.6) 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.7) bBackgroundPathing = 1 (0)8) bUseBackgroundPathing = 1 (0)9) bSelectivelyPurgeUnusedOnFasttravel = 1 (0)10) fTexturePCTThreshold = 0.6000 (0.3000)11) fLODLandVerticalBias = -200.0000 (0.0000)This setting is recommended to use with Oldblivion.12) fGrassWindMagnitudeMax = 0.0000 ( )The maximum amount the grass sways in the wind.13) fGrassWindMagnitudeMin = 0.0000 ( )The least amount the grass sways in the wind.14) bBackgroundLoadLipFiles = 1 (0)15) bLoadBackgroundFaceGen = 1 (0)This seems to be linked to bUseMultiThreadedFaceGen, so either have both on or both off.16) bUseMultiThreadedTrees = 1 (0)17) bCloneModelsInBackground = 1 (0)18) bPrecipitation = 0 (1)Turns off the rain effect. Will help with FPS, but you lose immersion.19) bMusicEnabled = 0 (1)Turns ALL the music off. Will speed up the game a bit, but at the loss of music.20) 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.