Elder Scrolls IV: Oblivion Tweak Guide
[Page 13] Neat Stuff & Conclusion
This section deals with a wide range of important performance and convenience tips and advice. Do not skip this section, as these tips are just as important as any .ini tweak.
Max Frames to Render Ahead
This tweak gained prominence as being the first major performance tip discovered and widely circulated for Oblivion. After much testing, and based on what I know, I can hopefully provide some genuine guidance on how this tweak works, and what setting to actually use. This is an important tweak if used correctly, you just need to be aware of what it does, as abusing it can also cause problems and reduce performance on many systems.
The setting in question is called 'Max Frames to Render Ahead', and it is usually hidden from the normal Nvidia Forceware Control Panel options. To enable it, I recommend using NVTweak 1.71, since NVTweak is easier to use to enable/disable this option (compared to Coolbits) and has other functionality which can come in handy. Run NVTweak and tick the 'Additional Direct3D' box, then close NVTweak. Now go into your Classic Forceware Control Panel, and under the 'Performance & Quality Settings' item you will find a new item called 'Additional Direct3D Settings', click on it and you will see this option. Note that Nvidia users running Vista can't access the Classic Forceware CP, so they should use RivaTuner to change the 'Prerender limit' setting which is the same thing. You can find out more about how to use NVTweak and RivaTuner in the Advanced Tweaking section of my Nvidia Forceware Tweak Guide. For ATI users, you can adjust the 'Flip Queue' setting which is the equivalent setting to the one above by installing and using ATI Tray Tools. The same values apply to both cards.
Update: This option is now available in the new Forceware Control Panel as of the 174 series drivers onwards. It is now called 'Maximum Pre-Rendered Frames'.
Basically, the Gamebryo engine (discussed further below) seems to have an issue which means it can saturate your CPU and/or Video RAM with pre-rendered frames (whole screens ready to be displayed). On most systems this results in very noticeable mouse and/or keyboard lag, even when your FPS is reasonably high enough not to usually suffer from this (e.g. 25-30FPS+). By reducing the maximum number of frames to render in advance, you reduce this bottlenecking effect and hence significantly reduce or remove the mouse lag.
However, here's the important part: this is not a tweak for improving FPS as such. The general recommendation to set 'Max Frames to Render Ahead' (or 'Flip Queue') from its default of 3 down to 0 will actually reduce performance on many systems, particularly Dual Core or HyperThreading CPUs. Secondly, even on single core systems, you may notice reduced performance in certain areas. So on balance I strongly recommend setting this value to 2 to start with, and if you still have mouse lag, dropping it down to 1. Remember, not all mouse lag is due to this setting: in areas where you have very low FPS (i.e. below 10-15FPS), you will get lagginess - this occurs in virtually any game where your FPS drops down to the low teens or single digits. You will have to consider changing other settings to increase overall FPS.
Oblivion Quick Startup
To get to the main Oblivion menu much more quickly, you should firstly stop using the Oblivion Launcher, which is launched when using the default Oblivion icon. Instead go to your \Program Files\Bethesda Softworks\Oblivion directory, right-click on the Oblivion.exe file and select Send to>Desktop to create a new desktop icon for Oblivion. Now delete your original Oblivion icon and use this one instead to launch the game - it will skip the launcher and immediately start loading Oblivion.
Next, you can remove all the Oblivion startup movies very easily, saving both time and RAM. See the SMainMenuMovieIntro and SIntroSequence variables in the Advanced Tweaking section. By blanking out the names of the movie files for these variables, Oblivion will skip all the intro movies and get straight to the main menu. In fact you can also remove the animated map in the background of the main menu as well if you want to save a bit more memory and make the mouse more responsive in the main menu, by editing the SMainMenuMovie variable.
Finally, some people claim that setting the iIntroSequencePriority and bPreloadIntroSequence variables to both =0 also removes the small loading pause prior to the main menu screen. It doesn't do anything on my system, but you can give it a try.
Anisotropic Filtering in Oblivion
Oblivion doesn't have any in-game or .ini options for enabling Anisotropic Filtering (AF). AF allows the textures in the game to look much more detailed as they fade into the distance, so if you're after an improvement in image quality, you can enable Anisotropic Filtering in your graphics card control panel - see my Gamer's Graphics & Display Settings Guide for details, and my ATI Catalyst Tweak Guide or Nvidia Forceware Tweak Guide as relevant for full instructions of how to do this. Note that enabling Anisotropic Filtering does bring with it a performance hit, though this can be relatively minor on most newer graphics cards.
Graphics Control Panel Settings
If you want to boost image quality in Oblivion, resolve issues such as shimmering textures and edges, texture corruption or anomalies, go to your graphics card control panel and disable any 'optimizations'. In the ATI Catalysts, this is called 'Catalyst AI', and can be found under the main ATI Catalyst Control Center screen. For the Nvidia Forceware drivers, untick the 'Trilinear Optimization', 'Anisotropic Mip Filter Optimization', and 'Anisotropic Sample Optimization' options and set your 'Image Settings' option to Quality or higher. Also make sure to Allow the 'Negative LOD Bias' option for better image quality. You may lose a couple of FPS by doing this, but it may be necessary in some cases in reducing obvious visual glitches. Furthermore, certain mods (like the Landscape LOD Texture Replacement Mod discussed on Page 4 of the guide) may not work correctly if these optimizations are enabled.
Experiment and see, however if you are having no visual glitches or problems, for best performance you should enable Catalyst AI and the Nvidia optimizations. Once again, refer to my ATI Catalyst Tweak Guide or Nvidia Forceware Tweak Guide for more details if you're confused about what these settings actually do.
Dual Core & HyperThreading CPUs
One of the questions people have been asking is whether Oblivion takes advantage of Dual Core or HyperThreading CPUs by "multithreading" tasks in parallel. Having tested the .ini variables which relate to this functionality, and noting that the GameBryo engine does officially support the use of multithreading, I can confirm that it appears to be the case. My X2 4400+ Dual Core CPU clearly benefits from smoother performance and slightly better FPS when the multithreading options are enabled, and combined CPU usage will regularly exceed 50%. Since the CPU is a major contributor to performance in Oblivion, I strongly suggest all Dual Core/HT users implement the relevant tweaks in the Advanced Tweaking section.
Furthermore, for those having problems with Dual Core CPUs, I don't recommend the installation of the latest CPU drivers. For AMD CPUs, the simplest solution is to disable 'Cool'n'Quiet' functionality in your BIOS, which also helps prevent problems with other games, since Cool'n'Quiet is not really designed with gaming in mind and can reduce performance. You should also install the AMD Dual Core Optimizer if you run an AMD dual core CPU in XP as this will help achieve maximum performance and prevent any problems. For Intel users, install the Microsoft Dual Core Hotfix to ensure you don't have any problems.
Oblivion Game Engine
Oblivion is based on the original engine used for Morrowind called NetImmerse. The new version of this engine is now called GameBryo. Having spent over a week exploring the engine's capabilities and quirks in great deal as part of experimenting with .ini options and in-game settings, I can honestly say that although it is by no means perfect, it is not a "faulty" engine at all. It is apparent that Bethesda Softworks have tried as hard as they could to optimize the game engine and the default parameters to balance loading times, in-game loading pauses, visual quality and complexity. This is not an easy juggling act, and explains for example why the distance textures appear so out of place and blurry and don't transition more smoothly. Or why objects often suddenly pop up instead of fading smoothly into view. These things were done to reduce the massive amount of texture data and hence even greater loading pauses and performance slowdowns on most systems - although I'm not suggesting that they couldn't possibly have been done better if there had been more time.
Check the Anandtech Oblivion Performance Article for more details of how the engine is working, and just how stressful it really is. Quite frankly, those of you expecting this game to run smoothly on older systems, particular those which barely meet the steep CPU minimum requirement (2GHz Intel or 2GHz AMD equivalent), or have relatively poor shader support (e.g. the FX series) I would suggest that it is an unrealistic expectation. People tend not to realize that it is very difficult to program a game which scales downward and upward perfectly - and even if you could reduce visible objects, textures, AI and polygons to extremely low levels, you're essentially no longer playing Oblivion in many respects.
In areas where you are getting poor performance, use the twf console command (See the Console Commands section), and you'll see the massive amount of detail which is being calculated by your computer. And of course that doesn't even touch on the invisible load on the CPU to manage all the physics, weather, character and quest states for example. Oblivion is a genuinely next-generation game, and while not perfect, certainly beats FEAR, Call of Duty 2 or any other recent system-intensive game in terms of complexity of features, eye candy, usage of shaders (including HDR), AI and physics. Furthermore, unlike most single-player FPS's which load up artificially small self-contained areas, Oblivion has enormous outdoor areas with vast views of lots of varied vegetation and objects through which you can wander in any direction and which load up 'on the fly'. This is all very demanding.
All in all, while I'm sure that the game's performance - as well as quest glitches and the like - will receive some minor boosts through official patches, as well as graphics driver optimizations, for the most part the game engine feels quite robust to me, and having launched and relaunched the game literally hundreds of times and played with it in often unusual circumstances, not once did I get a crash (except when using an unstable .ini variable). It's not perfect, but it's not as flawed as people are commonly crying out about. I don't want to blame the user, but to minimize problems you need to optimize your system properly - try the instructions in my TweakGuides Tweaking Companion, and the instructions throughout this guide. Every time a new system-intensive game comes out (e.g. BF2, FEAR, COD2, UT2004, Far Cry, etc.), people will say the engine is buggy, rather than spending time finding the sources of problems on their own machines.
Update: For those who still insist that Oblivion cannot be run smoothly on any reasonable machine, please see this video I made using FRAPS on my machine. Clearly with appropriate tweaking and hardware - and not necessarily even top-of-the range hardware - this game can run very smoothly at high settings.
Gameplay Tips
If you're after gameplay tips, as opposed to just performance tips, I recommend reading the game manual closely as it really does contain valuable information. However for additional gameplay advice, check this Oblivion Gameplay Guide as it seems to have some valuable tips. If you're really stuck trying to resolve a particular quest, try the Unofficial Elder Scrolls Pages.
Conclusion
Phew, the end of a rather long guide! This guide is the culmination of a lot of research and weary nights of testing. However I obviously can't take credit for discovering all the tweaks in this guide; most of the information herein is sourced from the existing material available on the Internet. This is a credit to the tweaking spirit of the gaming community - within a day of Oblivion being released, people had already discovered several major tweaks for the game. Within several days, a wide range of tweaks and mods were pouring out, and because I have been quite busy with my day job, it was all I could do to even keep track of all the new tweaks and tips. The bulk of them were discovered on places like the Oblivion Forums and the NVNews Oblivion Forums. Fortunately, our own TweakGuides Forums was up there riding the wave of useful tech tidbits.
In any case my main aim in writing this guide was to sort out the fact from fiction by testing out all the tweaks and tips, documenting all the in-game settings correctly, and drawing them all together into a single reference source which will remain up to date as we find out more about this amazing game. I must stress that unfortunately I can't provide any tech support/advice. If you want Oblivion to run at its best, all the information you need is already in this guide and in the associated guides mentioned in the Essential Optimization section, particularly the completely free TweakGuides Tweaking Companion downloadable PDF guide.
In any case, I hope you've found the guide useful, and until next time, take care!



