Jump to content

BSA versus Loose Files, small test


movomo

Recommended Posts

Recently one of our fellow members Ljacquard has brought a hot topic about BSA archives into Oblivion section. This has always been a hot issue in all Bethesda game communities, and will be so. Now that I want to keep setbody thread neat and clean, I started this thread to let folks continue the discussion.

Please respect the rule number 2 here.

 

Until now, BSA has been considered to be less efficient - because it's often compressed - and should only be used when there is no other option to resolve mod conflicts, or to make your mod installation a foolproof process so even an ape can imitate your instructions. Some people, however, question this common knowledge(or belief). Please read the link below before continuing on, in particular read the section 4.

 

http://forums.bethsoft.com/topic/1354395-update-bsas-and-you/

 

This is about general file input/output operation in computer system. The point of the above article is that hard disk causes serious bottleneck phenomenon, effectively negating (or even outrivaling) the advantages of using uncompressed files = less cpu usage. Assuming following data transfer rates:

Harddisk-throughput: 20MB/s

Memory-throughput: 2000MB/s

zlib-throughput: 80MB/s

According to the calculation in the linked article, it is always beneficial to compress the resource as much as possible, because it will minimize the amount of data that has to be processed through the biggest and fattest bottleneck, your hard disk.

Moreover, the article is mentioning of zlib, but some algorithms such as lz4 are known to be faster than zlib. (And the linked post says zlib should be faster than any SSD)

 

By the way, Bethesda game communities aren't the only people that have interests in the compressed vs uncompressed file IO problem. R for example, or this.Their conclusion is, reading from compressed file (in-memory decompression) is advantageous when you will read it just once, but uncompressed files are better if you have to read it multiple times. That is because of the disk cache, or in Windows NT you can call it Windows file cache. Once-read files are cached in memory (which is naturally much fater than zlib or anything's decompress speed) and if requested later, Windows reads them from the cache, instead of reading from the disk.

 

Is it so? For science, and as we are in the Lab, I had done a small test. Firstly let me reveal my weakpoint, my hardwares:

* SSD: Samsung 840 EVO 120GB

-> my C drive, and my Oblivion is here. one of the cheapest SSDs on the planet. good SSD, but my mainboard is shit, I don't have SATA3 slot. So this poor SSD runs on SATA2.

* HDD: Seagate ST3500418AS 1.5TB

-> my E drive. a typical moderately-old 7200RPM hard disk, 500GB platter * 3. sequence read is about 120MB/s, iirc. Your hard disk shouldn't be worse than this.

* my system RAM is Gskill...er..shark something. but RAM performance doesn't matter much here, anyway I have 16GB and 4GB of them is being used as RAM disk, my system temp folder.

What I wanted to do was read some random data from the disk, both way(compressed/uncompressed). So I wrote a short python script. We will read raw binary data from the source, but will not write it or do anytying with the read data.

 

 

First, generate the list of all data files.

#!python3
#-*-coding:utf_8-*-

from os import path
import os

files = []

for stem, branches, leaves in os.walk('data_tls'):
    for leaf in leaves:
        ful_path = path.join(stem, leaf).replace('\\','/')
        files.append(ful_path)

with open('files.txt', 'w', encoding='utf_8') as f_1:
    for path_ in files:
        path_ += '\n'
        f_1.write(path_)

Then, process the data.

#!python3
#-*-coding:utf_8-*-

from os import path
import os
import time
import zipfile
# Low-level
#import zlib 

def read_loose_files(files):
    container = {}
    for path_ in files:
        with open(path_, 'rb') as f_in:
            data = f_in.read()
            container[path_] = data
    #
    return container

def read_zipfile_whole(files, zip_name):
    container = {}
    with zipfile.ZipFile(zip_name) as z_in:
        for path_ in files:
            #path_2 = path_.replace('\\', '/')
            data = z_in.read(path_)
            container[path_] = data
    #
    return container

def get_files(files_txt):
    files = []
    with open(files_txt, encoding='utf_8') as f:
        while True:
            path_ = f.readline()
            if len(path_) > 0:
                path_ = path_[:-1]
                files.append(path_)
            else:
                break
    #
    return tuple(files)

def write_data(path_, data):
    path_2 = path.join('verify', path_)
    dir_2 = path.dirname(path_2)
    if not path.exists(dir_2):
        os.makedirs(dir_2)
    with open(path_2, 'wb') as f_out:
        f_out.write(data)

if __name__ == '__main__':
    method = int(input('method (1/loose, 2/zip whole) = '))
    
    # Get the list of files
    files = get_files('files.txt')
    
    # performance test START
    time.perf_counter()
    if method == 1:
        container = read_loose_files(files)
    elif method == 2:
        container = read_zipfile_whole(files, 'data_tls.zip')
    # Display elapsed time in seconds (1)
    print(time.perf_counter())
    
#    #
#    # Verify data
#    for path_, data in container.items():
#        write_data(path_, data)
#    #
#    # Display elapsed time in seconds (2)
#    print(time.perf_counter())

    os.system('pause')

 

 

One important thing is that we have to flush(purge) the Windows file cache before each test. For that I used RAMMap.

post-39899-0-88143500-1421776714_thumb.jpg

See? Apparently I have roughly 1.9GB of cached data. I didn't do anything yet besides browsing internet. You can zero it using Empty->Empty Standby List command.

 

Test material:

* source data file: The Lost Spires data files. 3784 files, 483MB when loose, I compressed them using 7-zip, ZIP-deflated option. After compression it became 323MB.

When loose file, separate 3784 files will cause random access to my hard drive. It is what any hard disk is worst at. SSDs are much better at this kind of business.

 

Some terms here:

* cold boot: here cold boot means turn off the PC, wait for more than 20 seconds, turn on the PC, after entering Windows, wait for more than 5 miniutes to make it idle.

* cache: once the files are read they are automatically stored in system memory.

* flush: purging the Windows file cache. This should yield the same or very similar result with cold-rebooting the PC.

* HDD/SDD "L" or "z": "L" means loose file, "z" means zipfile.

 

Procedure:

1. cold boot PC.

2. run "cold-boot tests". This is the kind-of control group. Once this is done, they will be cached.

3. so the next run automatically becomes "cached test".

4. then purge the file cache using RAMMap, then run the "flushed test".

5. cold boot again, repeat. I ran 3 times.

 

* Order of the tests should not matter as they all are at separate locations, but just for the record.

cold boot -> cache -> flush

1: HDD L -> HDD z => SSD l -> SSD z

2: HDD z -> HDD l => SSD z -> SSD l

3: SSD L -> SSD z => HDD l -> HDD z

 

Now the results (in second):

cold boot
HDD L   92.5395 90.6946 93.7892
HDD z   5.4664  5.4246  5.4064
SSD L   3.7257  3.7292  3.7200
SSD z   5.1564  5.1884  5.1570

=> loose files in SSD was the best. zipfile in HDD was about 17 times faster than loose files in HDD.

after cached
HDD L   0.5387  0.5383  0.5439
HDD z   3.7878  3.7912  3.7899
SSD L   0.5418  0.5443  0.5425
SSD z   3.8041  3.7941  3.7983

=> loose files was 7 times faster when cached, regardless of being HDD or SSD.

after flushed
HDD L   88.6588 89.9364 96.7789
HDD z   5.4158  5.4082  5.4385
SSD L   3.5461  3.4610  3.5147
SSD z   5.1802  5.1620  5.1692

=> I think I can safely tell that RAMMap is working as intended.
So, reading from a compressed file is indeed fast. But unlike the linked post's estimation, zlib did not surpass SSD.

 

 

 

*My conclusions, and some unanswered questions:*

 

Buy SSD nah, kidding.

 

Some say that unpacking BSAs improved their performance and stability. Some say otherwise. In my opinion, neither of them is lying or imagining; They are seeing one of the both sides of the same fact.

 

Several other important consderations must be made before making conclusions about this BSA/loose file problem. As my test isn't actually an in-game testing.

 

- which resource will be frequently used and which one will not be? If you are running Oblivion on your hard disk, this question may interest you. And to be most honest I do not know. I can only guess that things like common outfits, body assets, landscape/architecture assets will likely be loaded very often.

- my SSD is not doing its full potential, as stated above. your SSD may be a bit faster in reality.

- the script was written in python. and C or C++ functions are at times 10 times faster than python equivalent (although zlib's python implementation is in C).

- how much of cpu power is available and can be spared for loading resources in actual runtime? this matters because in-memory decompression is supposedly more resource intensive. and Oblivion is an old game (I'm kind of sad that these days it is considered to be an "old-school", but anyway), it will not utilize all available resource of your fancy hardware.

 

*So, some suggestions for TLDRs.

- If you have enough space in your SSD, I suggest moving Oblivion into it, and unpack BSAs. But hold on before re-packing every last resource you have into BSA even if you can't spare precious SSD space for a 50GB ugly old video game. For hard disk users, I think it needs some more discussion, as hard disk is still faster for some resources that are loaded frequently.

- I think we can assume that the more memory available to your system, the better loose files become. This is irrelevant to Oblivion 4GB patch thing. File caching is a feature of NTFS, not Oblivion.

Link to comment

An excellent analysis - more on it later, but first:-

 

Ljacquard said of BSAs: "every major and well-designed mod for Oblivion uses them". He quoted some of these mods elsewhere. One of them I unpacked very recently. I'm not going to name it as my aim isn't to cast aspersions at anyone, but here is what I found:-

1. Corrupt nifs. At least 70% of the many included Nifs had redundant nodes, some badly corrupt and very oversize (delete node rather than delete branch had been used liberally).

2. Redundant assets. Commonly used assets in the BSA with the usual path. If I'd have left the BSA alone, I'd have had two copies, one in the BSA! I deleted numerous textures I already had.

 

Exactly the sort of BSA that anyone would be well served by unpacking and throwing away.

 

However, let's now discuss 'perfect BSAs'.

For access timing, what we really need to look at is a typical case. What happens when really common files, say footfemale.dds are accessed? This is a file that is going to be in graphics memory pretty constantly I'd say. If not there, then in normal memory, if not there, well, what would happen?

 

If loose: Call to read from NTFS, let it load file, (let's hope it has mipmaps).

If in a BSA: Call to load NTFS to get BSA index (hopefully in memory but hey), offset along to find file, maybe read chunk of BSA, extract file. Let's hope the BSA isn't fragmented.

 

In other words, your typical windows case is the norm. You almost certainly don't want every asset in a BSA there and then. You want handfuls of the assets, something NTFS and Windows is good at providing. As you say "but uncompressed files are better if you have to read it multiple times". For read substitute access.

 

A BSA is NOT magic. It's a file archive/compression format, like 7zip, zip, tar or bz2.

When creating a good archive, you generally have a choice between access speed and compression. However, accessing a discreet file in any archive is slower than native file system access, because you have to do BOTH. A decent o/s does NOT distinguish between memory and disk, that's how they work. If something that is needed happens NOT to to be in memory you get a read fault while the process (or thread) pauses while the o/s goes and gets it. NTFS is a decent filesystem.

 

One common misconception (not necessarily by Ljacquard) seems to be that all BSAs are always in memory (no matter how big) and that all loose files are always on the disk and are getting read constantly every time they are needed. This just isn't so.

 

NTFS loads things effectively and quickly into memory. BSAs are an extra overhead that are used in addition to NTFS.

 

No where else in all my years have a ever found cases where an archive format was faster to access than a filesystem. Ask yourself this people, if BSAs were so fast, why aren't they being sold as a format to o/s vendors to use instead of their 'slow' filesystems, even if only for special cases? Why aren't other gaming companies using them? Beth would surely love to be paid by Microsoft that would adore the magic speed.

Link to comment

Yes, being used in "popular" mods does not make BSA's performance better, there are many other reasons to choose BSA. Besides, as you discovered there may be corrupt resources. (But thie is no problem if you unpack it then repack, if you ever need to.)

 

I certainly did not consider the size of the BSA archive, and memory issues you explained. Split files like loose files might make file caching more efficient. Thanks for the input.

Link to comment

Ok, what happens if the archive is very big?

 

1. Windows will give up caching it.

2. Windows will cache the whole archive, and will start paging older contents if runs out of memory.

3. Windows will cache a chunk of the archive, and start paging older stuff.

 

If BSA could cause more paging (maybe because it has to be loaded by bigger chunk), then it is probably more trouble than what is bargained for.

 

I'm not certain if BSA or not BSA is so important that it could affect gaming performance so hard on modern computers, but something tells me that I have to know. tongue.png

Link to comment

Reading this makes me want to put my fresh install data back in and unpack all the BSA's.  Same for the mods as I go. I'm very familiar with folder structure. Then the thought ran across my mind, if I did this, would that basically remove the need for archive invalidation? As I understand, archive invalidation makes sure the game uses the meshes and textures in the loose files instead of the BSA.  Would this be feasible? 

Link to comment

Well, gave it a try. Fresh install, just Oblivion and SI, unpacked the BSAs, worked fine. Added OBSE and various plugins, works fine. UOP's, run LODgen, no go. Just won't start after LODgen. I think It may be because LODgen gives warning that it can't find the BSAs.  Was worth a shot to see though.

Link to comment

In my humble opinion the vanilla assets should be left in the bsa files. While I did take the time to uncompress them, other than that, I left them be. I don't think you will notice much of a difference in speed which ever way you try it. From what limited testing I have done, the bottle neck comes more from the graphics end (when you spice up your games with high rez textures) through the CPU which is the real choke point more often than not.

Link to comment

yeah, just thought I would try. Was mostly killing time, as I was torn between 2 mods that should not affect each other but don't work together. Finally made a choice after 2 failed attempts at running with no BSAs. So now, I reinstall all my mods and start again. lol.

Link to comment
  • 1 month later...

@Eikichi Onizuka

 

To open a BSA file you need a BSA unpacker I use FOMM (fallout mod manager) which has a built in BSA extractor to extract files from a BSA it works on fallout oblivion and skyrim BSA's. You can find FOMM on LL by prideslayer or you can download the one from the fallout 3/New Vegas section on the nexus.

 

When you extract stuff from the BSA to a folder they will be already set up in the correct folder paths so all you will have to do is place them where they need to be.

Link to comment

@Eikichi Onizuka

 

To open a BSA file you need a BSA unpacker I use FOMM (fallout mod manager) which has a built in BSA extractor to extract files from a BSA it works on fallout oblivion and skyrim BSA's. You can find FOMM on LL by prideslayer or you can download the one from the fallout 3/New Vegas section on the nexus.

 

When you extract stuff from the BSA to a folder they will be already set up in the correct folder paths so all you will have to do is place them where they need to be.

which version is better ? :)

 

this.. http://www.nexusmods.com/skyrim/mods/59553/?

 

or

 

other this.. http://www.loverslab.com/topic/17895-fomm-custom-build-0141112/

 

 

which of the two FMMO is more secure, which has not crap insid, for not messed up the PC ? :-/

Link to comment

I have OBMM FOMM and NMM installed on my computer when I right click a BSA and select open it opens with FOMM my OBMM only has BSA browser BSA creator and BSA un-corrupter under utilities but no BSA extractor unless it's under something else. I just use FOMM because that is what I first set it to for extracting BSA's for fallout NV.

Link to comment

The amount of shit they kept shoving into NMM I doubt it I stopped updating it a long time ago back when they kept breaking shit ever time they made a update to add another bell or whistle to it that you probably didn't need. The only thing I use NMM for is skyrim otherwise it's FOMM for fallout 3 and NV and OBMM for oblivion.

Link to comment
  • 4 months later...

I use BSA browser, pinned to my task bar. Just redid my LO. BC+OCR+full UL. As I was installing mods, I would extract all file from the BSA, and then delete it, except the vanilla 10 and the one from UOP-SI (no extraction, no deletion). Installed BC by hand, BSAs first, in order, then went through and installed the required loose files (did it this way just to be safe). I removed a total of 31 BSAs. I actually notice smoother game play, and about 5 more FPS. I have all distant view sliders maxed, distant land; buildings and trees on, int shadow 5, ext shadow 10, shadow filtering high, water reflections and ripples on, window reflections on and water and blood on high. I also tweaked a lot of random stuff in my oblivion ini that I couldn't find anything about online. In the waterfront district, which has a ton of stuff added from BC, I'm getting 15 FPS and not at a crawling pace.  Did a non BSA extraction yesterday, had 10 FPS, and was barely moving. Running was a walking pace, and lots of crashes.  Now, nice and smooth.

 

Active Mod Files:

00  Oblivion.esm
01  All Natural Base.esm  [Version 1.36]
02  Cobl Main.esm  [Version 1.72]
03  Open Cities Resources.esm  [Version 4.1.6]
04  Harvest[Containers].esm
05  Harvest[Containers] - Flat-Top Barrels Add-on.esm
06  Better Cities Resources.esm  [Version 5.5.3]
07  CLS-Craftybits.esm
08  A_Bloody_Mess.esm
09  Lovers with PK.esm
0A  LoversCreature.esm
0B  Fundament.esm  [Version ision]
0C  Oblivion Sexualized Monsters.esm
0D  CustomSpellIcons - OBME.esm
0E  HorseCombatMaster.esm
0F  Oblivifall Master File.esm  [Version 1.2]
10  Unofficial Oblivion Patch.esp  [Version 3.5.2]
11  DLCShiveringIsles.esp
12  Unofficial Shivering Isles Patch.esp  [Version 1.5.6]
++  Icon Overhaul.esp
13  LoadingScreensV2.esp
14  All Natural.esp  [Version 1.36]
15  All Natural - SI.esp  [Version 1.36]
16  Immersive Interiors.esp  [Version 0.8.1]
17  Immersive Interiors - Bravil.esp  [Version 2.01]
18  Immersive Interiors - Landscape Addon.esp
19  Idle Dialogue.esp  [Version 1.3]
++  Symphony of Violence.esp
1A  OBSE-Storms & Sound SI.esp
1B  All Natural - Real Lights.esp  [Version 1.36]
1C  WindowLightingSystem.esp
1D  EnableFreeLookOBSE.esp
1E  Dialogue Idles.esp
1F  EquipmentConvertor.esp
20  Menu and Camera Toggler.esp  [Version 1.1]
21  More Effective Enchantments.esp
22  See You Sleep DLL.esp
23  See You Sleep DLL - Vampire Bedroll Anims.esp
24  PTFallingStars.esp
25  Q - More and Moldy Ingredients v1.1.esp
++  Regrowing Nirnroot - Dissappear Reappear.esp  [Version 1.01]
**  OSM-All Genders.esp
26  Simple Portable Tent.esp  [Version 2.11-NoSpellbook]
**  SimplePortableTent-AllNatural.esp
27  Torch Arrows.esp
28  Willful Resistance.esp
29  Enhanced Economy.esp  [Version 5.4.3]
2A  Immersive Travelers.esp
2B  BookTrackerOBSE.esp
2C  Container Menu Support.esp
2D  DropLitTorchOBSE.esp  [Version 2.4]
2E  FormID Finder4.esp
2F  Get Wet.esp
30  sycNiceToMeetYou.esp
31  Quest Log Manager.esp  [Version 1.3.2]
32  Spell Delete And Item Remove.esp
33  Map Marker Overhaul.esp  [Version 3.9.3]
34  Map Marker Overhaul - SI additions.esp  [Version 3.9.3]
35  Enhanced Hotkeys.esp  [Version 2.3.1]
36  RM Hot Potion and Poison.esp  [Version 1.0]
37  Alluring Books.esp
++  Better Unique Items.esp
38  SpeechcraftEnhanced.esp
39  StarterGear.esp
3A  XSPipeMod.esp  [Version 1.2]
++  RealBanditsAndHighwaymen.esp
3B  SlofsHorses.esp
3C  Cobl Glue.esp  [Version 1.72]
3D  Cobl Si.esp  [Version 1.63]
++  Cobl Tweaks.esp  [Version 1.44]
++  CB-Cobl_Glue.esp
++  Alluring Potion Bottles v3.esp
++  Alluring Wine Bottles.esp
++  Harvest[Containers] - Vanilla - Ore Respawn.esp
++  Harvest[Containers] - SI - Ore Respawn.esp
++  Harvest[Containers] - Flat-Top Barrels Add-on.esp
3E  Bandit Hideouts.esp
3F  Fighters Guild Quests.esp
40  Kvatch Rebuilt.esp  [Version 3.0]
41  Kvatch Rebuilt - No More Burned Ground.esp
42  OCR + Kvatch Rebuilt Patch.esp  [Version 4.0]
43  Kvatch Rebuilt Weather Patch.esp
44  Mages Guild Quests.esp
45  MTCExpandedVillages.esp
46  Tavern-Goers 2.esp
47  Trail  Central.esp
48  Trail  WEST.esp
49  Trail  EAST.esp
4A  Trail  South East.esp
4B  BrumaMGRestored.esp
4C  OCBruma+BrumaMGRestored Patch.esp  [Version 1.0.1]
4D  DarkBrotherhoodChronicles.esp  [Version 1.2.6]
4E  Roads of Cyrodiil.esp  [Version 1.0]
4F  ROC+Fighters Guild Quests.esp
50  ROC+DBC Patch.esp  [Version 1.0]
51  MTCEV-RoC Patch.esp
52  Oblivifall - Losing My Religion.esp  [Version 1.43]
53  xuldarkforest.esp  [Version 1.0.5]
54  xulStendarrValley.esp  [Version 1.2.2]
55  xulTheHeath.esp
56  xulEntiusGorge.esp  [Version 1.2.1]
57  xulFallenleafEverglade.esp  [Version 1.3.1]
58  xulColovianHighlands_EV.esp  [Version 1.2.2]
59  xulChorrolHinterland.esp  [Version 1.2.3]
5A  xulBeachesOfCyrodiilLostCoast.esp  [Version 1.6.5]
5B  xulBravilBarrowfields.esp  [Version 1.3.5]
5C  xulLushWoodlands.esp  [Version 1.3.3]
5D  xulAncientYews.esp  [Version 1.4.4]
5E  xulCloudtopMountains.esp  [Version 1.0.3]
5F  xulArriusCreek.esp  [Version 1.1.4]
60  xulPatch_AY_AC.esp  [Version 1.1]
61  xulRollingHills_EV_withoutWheat.esp  [Version 1.3.3]
62  xulPantherRiver.esp
63  xulRiverEthe.esp  [Version 1.0.2]
64  xulBrenaRiverRavine.esp  [Version 1.1.1]
65  xulImperialIsle.esp  [Version 1.6.8]
66  xulBlackwoodForest.esp  [Version 1.1.1]
67  xulCheydinhalFalls.esp  [Version 1.0.1]
68  KvatchRebuilt-CheydinhalFalls patch.esp  [Version 2.0]
69  xulAspenWood.esp  [Version 1.0.3]
6A  xulSkingradOutskirts.esp  [Version 1.0.2]
6B  ROC+UL Skingrad Outskirts Patch.esp
6C  xulSnowdale.esp  [Version 1.0.6]
6D  Snowdale - Fighters Guild Quests Patch.esp
6E  xulAncientRedwoods.esp  [Version 1.6]
6F  ROC+Ancient Redwoods.esp  [Version 1.0]
70  MTCExpandedVillages-UniqueLandscapes patch.esp  [Version 1.0]
71  xulCliffsOfAnvil.esp  [Version 1.1.3]
72  xulSilverfishRiverValley.esp  [Version 1.0.4]
73  BanditHideouts-SilverfishRiverValley patch.esp  [Version 1.0]
74  xulJerallGlacier.esp  [Version 1.0.2]
75  xulTheEasternPeaks.esp  [Version 1.2]
76  DarkBrotherhoodChronicles-UniqueLandscapes Merged patch.esp  [Version 1.2]
77  TrailsOfCyrodiil-UL merged patch.esp  [Version 1.1]
78  Werewolf-Legends.esp
79  Open Cities New Sheoth.esp  [Version 2.0.1]
7A  Open Cities Outer Districts.esp  [Version 4.1.6]
7B  Open Cities Reborn.esp  [Version 1.1.7]
7C  OCR-East Wind.esp
7D  OCR-Flags Removed.esp
7E  Better Cities - Open Cities Reborn.esp  [Version 5.4.0]
7F  Oblivifall - Losing My Religion OC Reborn.esp  [Version 1.0]
80  OCR+ULCH Patch.esp  [Version 1.0.3]
81  ROC+UL-II+OCOD Patch.esp  [Version 1.0]
82  OCR+ULBWForest Patch.esp  [Version 1.0.2]
83  OCR+Cheydinhal Falls Patch.esp  [Version 1.1]
84  OCR+ULSkingradOutskirts Patch.esp  [Version 2.0]
85  OCR+DBC Patch.esp  [Version 1.0]
86  Better Cities - House Price Patch.esp  [Version 5.5.0]
87  Harvest [Flora].esp  [Version 3.0.0]
++  Harvest [Flora] - Shivering Isles.esp  [Version 3.0.0]
88  Pitcher Plant and Lily Ingredients.esp
89  Better Dungeons.esp
8A  A Bloody Mess - Bloody Fights.esp
++  A Bloody Mess - Armor Shader Supression.esp
++  A Bloody Mess - Arena Wash Basin.esp
8B  CL_Tools_and_Clutter.esp
8C  HUD Status Bars.esp  [Version 5.3.2]
8D  DS Storage Sacks.esp  [Version 1.3]
8E  Finite Ammo.esp
8F  2nd to 1st person.esp
90  GMArcheryRebalance.esp  [Version 1.0]
91  GuildAdvancement.esp
92  Kyoma's Journal Mod.esp  [Version 3.2.1]
93  kuerteeInventoryIsABackpack.esp
++  more books teach.esp
94  More Gold in Locked Containers-5976.esp
++  More Lockpicks.esp
95  Oblivifall - Closing Time.esp  [Version 1.0]
96  P1DKeyChainSI Merged.esp
97  PersuasionOverhaul.esp  [Version 1.43]
98  Random Welkynd and Varla Stones.esp
99  kuerteeGoldIsAnInventoryItem.esp
9A  Have a Seat.esp
9B  RMDailyIncomeV2.esp
9C  Safe Traveling NPC.esp
9D  LoversAdultPlayPlusforSSP.esp
9E  LoversHooker.esp  [Version 2.2]
9F  LoversAdultPlayPlusforSSP_HookerPatch.esp
A0  LoversVoiceSSPplus.esp
A1  LoversRaperS.esp
A2  LoversJoburg.esp
A3  LoversBed.esp
A4  LoversPayBandit.esp
A5  Lovers with PK.esp  [Version 96v5]
A6  LoversBitchOCR.esp
A7  LoversCreature.esp
A8  LoversSatisfaction.esp
A9  LoversSoundCreature.esp  [Version 0.1.0]
AA  LoversSpermSplashEx.esp
AB  LoversEscapeRapeVPlayer.esp
AC  LoversTrueCrimeEx.esp
AD  LoversSituations.esp
AE  LoversStripper.esp
AF  LoversAchievments.esp
B0  LAPF Afterglow.esp
B1  LoversChorus.esp
B2  LoversLight.esp
B3  LoversSexSense.esp  [Version 0.5.3]
B4  LoversSoundVolumeDown.esp
B5  DogsWolves-OCR.esp
B6  SetsunaDummyTraining.esp
B7  CLS-Craftybits.esp
++  CLS-Craftybits_A_Bloody_Mess-Glue.esp  [Version 1.1]
B8  CLS-Craftybits_A_Bloody_Mess-Glue-Ragplacer.esp
++  CB-Weights_Hard.esp
B9  Enhanced Economy - House prices.esp  [Version 5.4.3]
BA  Alternative Beginnings.esp  [Version 1.4.3]
BB  Alternative Beginnings - Kvatch Intact.esp  [Version 3.0]
BC  Elz - Realistic Gravity.esp
BD  AdvancedHealthRegen.esp
BE  Basic Primary Needs.esp  [Version 6.3]
BF  Basic Personal Hygiene.esp  [Version 3.0]
C0  BPH_InnsHaveTubs.esp
C1  Basic Physical Activities.esp  [Version 1.3]
C2  Vampire Revolution.esp  [Version v1.13]
C3  RefScope.esp  [Version 2.1.2]
C4  Vector.esp  [Version 0.4]
C5  Syc_AtHomeAlchemy_No_Bounty_v2.esp
C6  RshAlchemy.esp
++  RshAlchemy - AVU.esp  [Version 1.0]
C7  RshAlchemyRecipes.esp
C8  StolenItemOwnership.esp
C9  ZumbsLockpickingMod - OBSE.esp
CA  ZumbsLockpickingMod - Hide Difficulty Addon.esp
CB  sycHearNoEvil.esp  [Version 1.0]
CC  Enhanced Grabbing.esp  [Version 0.5]
CD  Deadly Reflex 5 - Timed Block with no damage or durability changes.esp
CE  DeadlyReflex 5 - Combat Moves.esp
CF  Duke Patricks - Near Miss Magic And Arrows Alert The Target.esp  [Version 7.1]
D0  Duke Patricks - Actors Can Miss Now.esp
D1  Duke Patricks - Fresh Kills Now Alert The NPCs.esp  [Version 4]
D2  Unequip Broken Armor.esp  [Version 2.8.2]
D3  nGCD.esp
D4  Grandmaster of Alchemy.esp
D5  HAZeatanimations.esp
D6  Glowing Respawning Varla & Welkynd Stones 14-28 Days.esp
D7  Birthsigns Expanded.esp
D8  Better Cities IC Arboretum.esp  [Version 5.5.3]
D9  Better Cities IC Arena.esp  [Version 5.5.3]
DA  Better Cities IC Elven Gardens.esp  [Version 5.5.3]
DB  Better Cities IC Green Emperor Way.esp  [Version 5.5.0]
DC  Better Cities IC Market.esp  [Version 5.5.3]
DD  Better Cities IC Talos Plaza.esp  [Version 5.5.3]
DE  Better Cities IC Temple.esp  [Version 5.5.3]
DF  Better Cities IC Waterfront.esp  [Version 5.5.0]
E0  All Natural Real Lights - Better Cities IC Patch.esp
++  Better Cities - COBL.esp  [Version 5.5.0]
E1  Better Cities - Unique Landscape Imperial Isle.esp  [Version 5.3.0]
E2  OCR+Werewolf Patch.esp  [Version 1.0]
E3  Kanin Race.esp
E4  Oblivion_Character_Overhaul.esp  [Version 2.0]
E5  Think to Yourself.esp
E6  00 Realistic Player Speech.esp
E7  Automatic Timescale.esp  [Version 1.1.1]
E8  Reading Takes Time.esp
**  GW71_Life_Detect.esp
E9  qazFingerSnap.esp
++  A Bloody Mess_Fix.esp
++  DBED - 7 murders Level delay.esp  [Version 1.0]
++  Duke Patricks - BASIC Script Effect Silencer NIF REMOVED.esp
++  MoreFemales.esp
++  No Vampirism.esp
**  ROC - OCReborn Road Record.esp
EA  Cobl Silent Equip Misc.esp  [Version 01]
**  All Natural - Indoor Weather Filter For Mods.esp  [Version 1.36]
EB  LandMagicPatch.esp
EC  OblivionReloaded.esp
ED  Bashed Patch, 0.esp
EE  GBRsAntiCTD.esp
EF  LoversMB2.esp
F0  Lovers3dorgasmMB2.esp
F1  LoversIdleAnimsPriority.esp
F2  Maskar's Oblivion Overhaul.esp  [Version 4.5.3]
F3  LoversIdleAnimsPriority_MOO.esp
F4  Lovers3dorgasm.esp
F5  LoversAnimObjectsPriority.esp

 
My ini


[General]
SStartingCell=
 
SStartingCellY=
SStartingCellX=
SStartingWorld=
 
STestFile10=
STestFile9=
STestFile8=
STestFile7=
STestFile6=
STestFile5=
STestFile4=
STestFile3=
STestFile2=
STestFile1=
 
bEnableProfile=0
bDrawSpellContact=0
bRunMiddleLowLevelProcess=1
iHoursToSleep=3
bActorLookWithHavok=0
SMainMenuMusicTrack=special\tes4title.mp3
bUseEyeEnvMapping=1
bFixFaceNormals=0
bUseFaceGenHeads=1
bFaceMipMaps=0
bFaceGenTexturing=0
bDefaultCOCPlacement=0
uGridDistantTreeRange=10
uGridDistantCount=20
uGridsToLoad=5
fGlobalTimeMultiplier=1.0000
bNewAnimation=1
fAnimationDefaultBlend=0.1000
fAnimationMult=1.0000
bFixAIPackagesOnLoad=0
bForceReloadOnEssentialCharacterDeath=1
bKeepPluginWhenMerging=0
bCreate Maps Enable=0
SLocalSavePath=Saves\
SLocalMasterPath=Data\
bDisableDuplicateReferenceCheck=1
bTintMipMaps=0
uInterior Cell Buffer=16
uExterior Cell Buffer=102
iIntroSequencePriority=3
bPreloadIntroSequence=1
fStaticScreenWaitTime=3.0000
SCreditsMenuMovie=CreditsMenu.bik
SMainMenuMovie=Map loop.bik
SMainMenuMovieIntro=Oblivion iv logo.bik
SIntroSequence=bethesda softworks HD720p.bik,2k games.bik,game studios.bik,Oblivion Legal.bik
iFPSClamp=0
bRunVTuneTest=0
STestFile1=
bActivateAllQuestScripts=0
fQuestScriptDelayTime=5.0000
SMainMenuMusic=Special\TES4Title.mp3
bUseThreadedBlood=1
bUseThreadedMorpher=1
bExternalLODDataFiles=1
bBorderRegionsEnabled=0
bDisableHeadTracking=0
bTrackAllDeaths=0
SCharGenQuest=0002466E
uiFaceGenMaxEGTDataSize=67108864
uiFaceGenMaxEGMDataSize=67108864
SBetaCommentFileName=
bCheckCellOffsetsOnInit=0
bCreateShaderPackage=0
uGridDistantTreeRangeCity=4
uGridDistantCountCity=4
bWarnOnMissingFileEntry=0
iSaveGameBackupCount=1
bDisplayMissingContentDialogue=1
SSaveGameSafeCellID=2AEEA
bAllowScriptedAutosave=1
bPreemptivelyUnloadCells=0
bCheckIDsOnInit=0
iNumBitsForFullySeen=248
iPreloadSizeLimit=262144000
SOblivionIntro=OblivionIntro.bik
bUseHardDriveCache=1
bEnableBoundingVolumeOcclusion=0
bDisplayBoundingVolumes=0
bUseThreadedTempEffects=1
bUseThreadedParticleSystem=1
bUseMyGamesDirectory=1
 
 
[Display]
uVideoDeviceIdentifierPart1=0
uVideoDeviceIdentifierPart2=0
uVideoDeviceIdentifierPart3=0
uVideoDeviceIdentifierPart4=0
fDecalLifetime=10.0000
bEquippedTorchesCastShadows=0
bReportBadTangentSpace=0
bStaticMenuBackground=1
bForcePow2Textures=0
bForce1XShaders=0
bHighQuality20Lighting=0
bAllow20HairShader=1
bAllowScreenShot=0
iMultiSample=0
bDoTallGrassEffect=0
bForceMultiPass=1
bDoTexturePass=1
bDoSpecularPass=1
bDoDiffusePass=1
bDoAmbientPass=1
bDoCanopyShadowPass=1
bDrawShadows=0
bUseRefractionShader=0
bUse Shaders=1
iNPatchNOrder=0
iNPatchPOrder=0
iNPatches=0
iLocation Y=0
iLocation X=0
bFull Screen=0
iSize W=1360
iSize H=768
iAdapter=0
iScreenShotIndex=1
SScreenShotBaseName=ScreenShot
iAutoViewMinDistance=2000
iAutoViewHiFrameRate=40
iAutoViewLowFrameRate=20
bAutoViewDistance=0
fDefaultFOV=75.0000
fNearDistance=10.0000
fFarDistance=9000.0000
iDebugTextLeftRightOffset=10
iDebugTextTopBottomOffset=10
bShowMenuTextureUse=1
iDebugText=2
blocalmapshader=0
bDoImageSpaceEffects=1
fShadowLOD2=300.0000
fShadowLOD1=100.0000
fLightLOD2=900.0000
fLightLOD1=400.0000
fSpecularLOD2=750.0000
fSpecularLOD1=450.0000
fEnvMapLOD2=500.0000
fEnvMapLOD1=200.0000
fEyeEnvMapLOD2=100.0000
fEyeEnvMapLOD1=50.0000
iPresentInterval=1
fSpecualrStartMax=900.0000
fSpecularStartMin=0.0000
iActorShadowIntMax=10
iActorShadowIntMin=0
iActorShadowExtMax=20
iActorShadowExtMin=0
fGammaMax=0.6000
fGammaMin=1.4000
iMaxDecalsPerFrame=5
bLandscapeBlend=1
bFullBrightLighting=0
iMaxLandscapeTextures=1
bDynamicWindowReflections=1
fShadowFadeTime=1.0000
fGamma=1.0000
bDecalsOnSkinnedGeometry=1
iShadowFilter=2
bAllowPartialPrecision=1
iShadowMapResolution=256
bShadowsOnGrass=0
bActorSelfShadowing=0
iActorShadowCountInt=5
iActorShadowCountExt=10
bAllow30Shaders=1
iTexMipMapMinimum=0
iTexMipMapSkip=0
bDoStaticAndArchShadows=0
bDoActorShadows=0
bIgnoreResolutionCheck=0
fNoLODFarDistancePct=1.0000
fNoLODFarDistanceMax=10240.0000
fNoLODFarDistanceMin=1700.0000
 
 
 
[Controls]
fVersion=1.8000
Forward=0011FFFF
Back=001FFFFF
Slide Left=001EFFFF
Slide Right=0020FFFF
Use=00FF00FF
Activate=0012FFFF
Block=002B01FF
Cast=002EFFFF
Ready Item=0021FFFF
Crouch/Sneak=001DFFFF
Run=002AFFFF
Always Run=001BFFFF
Auto Move=001AFFFF
Jump=0039FFFF
Toggle POV=00C502FF
Menu Mode=000FFFFF
Rest=0046FFFF
Quick Menu=003BFFFF
Quick1=0002FFFF
Quick2=0003FFFF
Quick3=0004FFFF
Quick4=0005FFFF
Quick5=0006FFFF
Quick6=0007FFFF
Quick7=0008FFFF
Quick8=0009FFFF
QuickSave=003FFFFF
QuickLoad=0043FFFF
Grab=002C03FF
bInvertYValues=0
fXenonLookXYMult=0.0005
fMouseSensitivity=0.0024
;X = 1, Y = 2, Z = 3, XRot = 4, YRot = 5, ZRot = 6
iJoystickMoveFrontBack=2
iJoystickMoveLeftRight=1
fJoystickMoveFBMult=1.0000
fJoystickMoveLRMult=1.0000
iJoystickLookUpDown=6
iJoystickLookLeftRight=3
fJoystickLookUDMult=0.0020
fJoystickLookLRMult=0.0020
fXenonMenuMouseXYMult=0.0003
bBackground Mouse=0
bBackground Keyboard=0
bUse Joystick=0
fXenonLookMult=0.0030
fXenonMenuStickSpeedMaxMod=5.0000
iXenonMenuStickSpeedThreshold=20000
iXenonMenuStickThreshold=1000
;Language values: 0-English, 1-German, 2-French, 3-Spanish, 4-Italian
iLanguage=0
fXenonMenuStickMapCursorMinSpeed=1.0000
fXenonMenuStickMapCursorMaxSpeed=15.0000
fXenonMenuStickMapCursorGamma=0.1700
fXenonMenuStickSpeedPlayerRotMod=3000.0000
fXenonMenuDpadRepeatSpeed=300.0000
fXenonMenuStickSpeed=300.0000
iXenonMenuStickDeadZone=15000
SlideLeft=001EFFFF
SlideRight=0020FFFF
 
 
[Water]
fAlpha=0.5000
uSurfaceTextureSize=128
SSurfaceTexture=water
SNearWaterOutdoorID=NearWaterOutdoorLoop
SNearWaterIndoorID=NearWaterIndoorLoop
fNearWaterOutdoorTolerance=512.0000
fNearWaterIndoorTolerance=256.0000
fNearWaterUnderwaterVolume=0.9000
fNearWaterUnderwaterFreq=0.3000
uNearWaterPoints=8
uNearWaterRadius=1000
uSurfaceFrameCount=32
uSurfaceFPS=12
bUseWaterReflectionsMisc=1
bUseWaterReflectionsStatics=1
bUseWaterReflectionsTrees=1
bUseWaterReflectionsActors=1
bUseWaterReflections=1
bUseWaterHiRes=1
bUseWaterDisplacements=1
bUseWaterShader=1
uDepthRange=125
bUseWaterDepth=1
bUseWaterLOD=1
fTileTextureDivisor=4.7500
fSurfaceTileSize=1024.0000
uNumDepthGrids=3
 
[Audio]
bDSoundHWAcceleration=1
fMinSoundVel=10.0000
fMetalLargeMassMin=25.0000
fMetalMediumMassMin=8.0000
fStoneLargeMassMin=30.0000
fStoneMediumMassMin=5.0000
fWoodLargeMassMin=15.0000
fWoodMediumMassMin=7.0000
fDialogAttenuationMax=35.0000
fDialogAttenuationMin=7.7500
bUseSoundDebugInfo=1
fUnderwaterFrequencyDelta=0.0000
bUseSoftwareAudio3D=0
fDefaultEffectsVolume=0.8000
fDefaultMusicVolume=0.0000
fDefaultFootVolume=0.8000
fDefaultVoiceVolume=0.8000
fDefaultMasterVolume=1.0000
bMusicEnabled=1
bSoundEnabled=1
fLargeWeaponWeightMin=25.0000
fMediumWeaponWeightMin=8.0000
fSkinLargeMassMin=30.0000
fSkinMediumMassMin=5.0000
fChainLargeMassMin=30.0000
fChainMediumMassMin=5.0000
fDBVoiceAttenuationIn2D=0.0000
iCollisionSoundTimeDelta=50
fGlassLargeMassMin=25.0000
fGlassMediumMassMin=8.0000
fClothLargeMassMin=25.0000
fClothMediumMassMin=8.0000
fEarthLargeMassMin=30.0000
fEarthMediumMassMin=5.0000
bUseSpeedForWeaponSwish=1
fLargeWeaponSpeedMax=0.9500
fMediumWeaponSpeedMax=1.1000
fPlayerFootVolume=0.9000
fDSoundRolloffFactor=4.0000
fMaxFootstepDistance=1100.0000
fHeadroomdB=2.0000
iMaxImpactSoundCount=64
fMainMenuMusicVolume=0.6000
 
 
[ShockBolt]
bDebug=0
fGlowColorB=1.0000
fGlowColorG=0.6000
fGlowColorR=0.0000
fCoreColorB=1.0000
fCoreColorG=1.0000
fCoreColorR=1.0000
fCastVOffset=-10.0000
iNumBolts=5
fBoltGrowWidth=1.0000
fBoltSmallWidth=3.0000
fTortuosityVariance=8.0000
fSegmentVariance=35.0000
fBoltsRadius=24.0000
 
[Pathfinding]
bDrawPathsDefault=0
bPathMovementOnly=0
bDrawSmoothFailures=0
bDebugSmoothing=0
bSmoothPaths=1
bSnapToAngle=0
bDebugAvoidance=0
bDisableAvoidance=0
bBackgroundPathing=1
bUseBackgroundPathing=1
 
[MAIN]
bEnableBorderRegion=1
fLowPerfCombatantVoiceDistance=1000.0000
iDetectionHighNumPicks=40
fQuestScriptDelayTime=5.0000
iLastHDRSetting=-1
 
 
[Combat]
bEnableBowZoom=1
bDebugCombatAvoidance=0
fMinBloodDamage=10.0000
fHitVectorDelay=0.4000
iShowHitVector=0
fLowPerfNPCTargetLOSTimer=1.0000
fHiPerfNPCTargetLOSTimer=0.5000
iMaxHiPerfNPCTargetCount=4
fLowPerfPCTargetLOSTimer=0.5000
fHiPerfPCTargetLOSTimer=0.2500
iMaxHiPerfPCTargetCount=4
iMaxHiPerfCombatCount=4
 
 
[HAVOK]
bDisablePlayerCollision=0
fJumpAnimDelay=0.2500
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=5.0000
fQuadrupedPitchMult=1.0000
iNumHavokThreads=10
fChaseDeltaMult=0.0500
iEntityBatchRemoveRate=100
iMaxPicks=40
bAddBipedWhenKeyframed=0
 
 
[Interface]
fDlgLookMult=0.3000
fDlgLookAdj=0.0000
fDlgLookDegStop=0.2000
fDlgLookDegStart=2.0000
fDlgFocus=2.1000
fKeyRepeatInterval=50.0000
fKeyRepeatTime=500.0000
fActivatePickSphereRadius=16.0000
fMenuModeAnimBlend=0.0000
iSafeZoneX=20
iSafeZoneY=20
iSafeZoneXWide=20
iSafeZoneYWide=20
fMenuPlayerLightDiffuseBlue=0.8000
fMenuPlayerLightDiffuseGreen=0.8000
fMenuPlayerLightDiffuseRed=0.8000
fMenuPlayerLightAmbientBlue=0.2500
fMenuPlayerLightAmbientGreen=0.2500
fMenuPlayerLightAmbientRed=0.2500
bAllowConsole=1
bActivatePickUseGamebryoPick=0
iMaxViewCasterPicksGamebryo=10
iMaxViewCasterPicksHavok=10
iMaxViewCasterPicksFuzzy=5
bUseFuzzyPicking=1
fMenuBGBlurRadius=2.0000
 
[LoadingBar]
iMoveBarWaitingMilliseconds=10
iMoveBarChaseMilliseconds=100
iMoveBarMaxMilliseconds=2500
fLoadingSlideDelay=15.0000
fPercentageOfBar3=0.1500
fPercentageOfBar2=0.4400
fPercentageOfBar1=0.3500
fPercentageOfBar0=0.0600
bShowSectionTimes=0
 
[Menu]
fCreditsScrollSpeed=40.0000
iConsoleTextYPos=890
iConsoleTextXPos=30
iConsoleVisibleLines=15
iConsoleHistorySize=50
rDebugTextColor=255,251,233
iConsoleFont=3
iDebugTextFont=3
 
 
 
[GamePlay]
bDisableDynamicCrosshair=0
bSaveOnTravel=0
bSaveOnWait=0
bSaveOnRest=0
bCrossHair=0
iDifficultyLevel=50
bGeneralSubtitles=1
bDialogueSubtitles=1
bInstantLevelUp=0
bHealthBarShowing=0
fHealthBarFadeOutSpeed=1.0000
fHealthBarSpeed=80.0000
fHealthBarHeight=4.0000
fHealthBarWidth=40.0000
fHealthBarEmittanceFadeTime=0.5000
fHealthBarEmittanceTime=1.5000
STrackLevelUpPath=\\vault\TES4\LevelData\
fDifficulty=0.0000
bTrackLevelUps=1
bAllowHavokGrabTheLiving=0
bEssentialTakeNoDamage=1
iDetectionPicks=21
bSaveOnInteriorExteriorSwitch=0
 
 
[Fonts]
sfontfile_1=Data\Fonts\DarN_Kingthings_Calligraphica_36.fnt
sfontfile_2=Data\Fonts\DarN_Kingthings_Petrock_14.fnt
sfontfile_3=Data\Fonts\DarN_Kingthings_Petrock_16.fnt
sfontfile_4=Data\Fonts\DarN_Oblivion_28.fnt
SFontFile_5=Data\Fonts\Handwritten.fnt
 
 
[SpeedTree]
iTreeClonesAllowed=10
fCanopyShadowGrassMult=1.0000
iCanopyShadowScale=256
fTreeForceMaxBudAngle=-1.0000
fTreeForceMinBudAngle=-1.0000
fTreeForceLeafDimming=-1.0000
fTreeForceBranchDimming=-1.0000
fTreeForceCS=-1.0000
fTreeForceLLA=-1.0000
fTreeLODExponent=1.0000
bEnableTrees=1
bForceFullLOD=0
fLODTreeMipMapLODBias=-0.5000
fLocalTreeMipMapLODBias=-0.0000
 
 
[Debug]
bDebugFaceGenCriticalSection=0
bDebugFaceGenMultithreading=0
bDebugSaveBuffer=0
 
 
[BackgroundLoad]
bBackgroundLoadLipFiles=1
bLoadBackgroundFaceGen=1
bUseMultiThreadedFaceGen=1
bBackgroundCellLoads=1
bLoadHelmetsInBackground=1
iAnimationClonePerLoop=5
bSelectivePurgeUnusedOnFastTravel=0
bUseMultiThreadedTrees=1
iPostProcessMillisecondsEditor=50
iPostProcessMillisecondsLoadingQueuedPriority=200
iPostProcessMilliseconds=5
bUseBackgroundFileLoader=0
 
 
[LOD]
fLodDistance=500.0000
bUseFaceGenLOD=0
iLODTextureTiling=2
iLODTextureSizePow2=8
fLODNormalTextureBlend=0.5000
bDisplayLODLand=1
bDisplayLODBuildings=1
bDisplayLODTrees=1
bLODPopTrees=1
bLODPopActors=1
bLODPopItems=1
bLODPopObjects=1
fLODFadeOutMultActors=15.0000
fLODFadeOutMultItems=15.0000
fLODFadeOutMultObjects=15.0000
fLODMultLandscape=1.0000
fLODMultTrees=2.0000
fLODMultActors=1.0000
fLODMultItems=1.0000
fLODMultObjects=1.0000
iFadeNodeMinNearDistance=400
fLODFadeOutPercent=0.9000
fLODBoundRadiusMult=3.0000
fTalkingDistance=2000.0000
 
fTreeLODMax=2.0000
fTreeLODMin=0.0200
fTreeLODDefault=1.2000
fObjectLODMax=15.0000
fObjectLODMin=1.0000
fObjectLODDefault=5.0000
fItemLODMax=15.0000
fItemLODMin=1.0000
fItemLODDefault=2.0000
fActorLODMax=15.0000
fActorLODMin=2.0000
fActorLODDefault=5.0000
bLODUseCombinedLandNormalMaps=1
bForceHideLODLand=0
fLODQuadMinLoadDistance=65536.0000
fLODFadeOutActorMultInterior=1.0000
fLODFadeOutItemMultInterior=1.0000
fLODFadeOutObjectMultInterior=1.0000
fLODFadeOutActorMultCity=1.0000
fLODFadeOutItemMultCity=1.0000
fLODFadeOutObjectMultCity=1.0000
fLODFadeOutActorMultComplex=1.0000
fLODFadeOutItemMultComplex=1.0000
fLODFadeOutObjectMultComplex=1.0000
fLODLandVerticalBias=0.0000
 
[Weather]
fSunGlareSize=350.0000
fSunBaseSize=250.0000
bPrecipitation=1
fAlphaReduce=1.0000
SBumpFadeColor=255,255,255,255
SLerpCloseColor=255,255,255,255
SEnvReduceColor=255,255,255,255
 
[Voice]
SFileTypeLTF=ltf
SFileTypeLip=lip
SFileTypeSource=wav
SFileTypeGame=mp3
 
 
[Grass]
iMinGrassSize=120
fGrassEndDistance=8000.0000
fGrassStartFadeDistance=7000.0000
bGrassPointLighting=0
bDrawShaderGrass=1
iGrassDensityEvalSize=2
iMaxGrassTypesPerTexure=2
fWaveOffsetRange=1.7500
fGrassWindMagnitudeMax=46.6667
fGrassWindMagnitudeMin=23.3333
fTexturePctThreshold=0.2000
 
[Landscape]
bCurrentCellOnly=0
bPreventSafetyCheck=0
fLandTextureTilingMult=2.0000
fLandFriction=2.5000
iLandBorder2B=0
iLandBorder2G=0
iLandBorder2R=0
iLandBorder1B=0
iLandBorder1G=255
iLandBorder1R=255
 
 
[bLightAttenuation]
fQuadraticRadiusMult=1.0000
fLinearRadiusMult=1.0000
bOutQuadInLin=0
fConstantValue=0.0000
fQuadraticValue=12.0000
fLinearValue=3.0000
uQuadraticMethod=2
uLinearMethod=1
fFlickerMovement=8.0000
bUseQuadratic=1
bUseLinear=0
bUseConstant=0
 
 
[BlurShaderHDRInterior]
fTargetLUM=1.0000
fUpperLUMClamp=1.0000
fEmissiveHDRMult=1.0000
fEyeAdaptSpeed=0.5000
fBrightScale=2.2500
fBrightClamp=0.2250
fBlurRadius=7.0000
iNumBlurpasses=1
 
 
[BlurShaderHDR]
fTargetLUM=1.2000
fUpperLUMClamp=1.0000
fGrassDimmer=1.3000
fTreeDimmer=1.2000
fEmissiveHDRMult=1.0000
fEyeAdaptSpeed=0.7000
fSunlightDimmer=1.3000
fSIEmmisiveMult=1.0000
fSISpecularMult=1.0000
fSkyBrightness=0.5000
fSunBrightness=0.0000
fBrightScale=1.5000
fBrightClamp=0.3500
fBlurRadius=4.0000
iNumBlurpasses=2
iBlendType=2
bDoHighDynamicRange=1
 
 
[BlurShader]
fSunlightDimmer=1.0000
fSIEmmisiveMult=1.0000
fSISpecularMult=1.0000
fSkyBrightness=0.5000
fSunBrightness=0.0000
fAlphaAddExterior=0.2000
fAlphaAddInterior=0.5000
iBlurTexSize=256
fBlurRadius=0.0300
iNumBlurpasses=1
iBlendType=2
bUseBlurShader=0
 
 
[GethitShader]
fBlurAmmount=0.5000
fBlockedTexOffset=0.0010
fHitTexOffset=0.0050
[MESSAGES]
bBlockMessageBoxes=0
bSkipProgramFlows=1
bAllowYesToAll=1
bDisableWarning=1
iFileLogging=0
bSkipInitializationFlows=1
[DistantLOD]
bUseLODLandData=0
fFadeDistance=12288.0000
iDistantLODGroupWidth=8
[GeneralWarnings]
SGeneralMasterMismatchWarning=One or more plugins could not find the correct versions of the master files they 
 
depend on. Errors may occur during load or game play. Check the "Warnings.txt" file for more information.
 
SMasterMismatchWarning=One of the files that "%s" is dependent on has changed since the last save.
This may result in errors. Saving again will clear this message
but not necessarily fix any errors.
 
[Archive]
SMasterMiscArchiveFileName=Oblivion - Misc.bsa
SMasterVoicesArchiveFileName2=Oblivion - Voices2.bsa
SMasterVoicesArchiveFileName1=Oblivion - Voices1.bsa
SMasterSoundsArchiveFileName=Oblivion - Sounds.bsa
SMasterTexturesArchiveFileName1=Oblivion - Textures - Compressed.bsa
SMasterMeshesArchiveFileName=Oblivion - Meshes.bsa
SInvalidationFile=ArchiveInvalidation.txt
iRetainFilenameOffsetTable=1
iRetainFilenameStringTable=1
iRetainDirectoryStringTable=1
bCheckRuntimeCollisions=0
bInvalidateOlderFiles=1
bUseArchives=1
sArchiveList=..\obmm\BSARedirection.bsa, Oblivion - Meshes.bsa, Oblivion - Textures - Compressed.bsa, Oblivion - 
 
Sounds.bsa, Oblivion - Voices1.bsa, Oblivion - Voices2.bsa, Oblivion - Misc.bsa
[CameraPath]
iTake=0
SDirectoryName=TestCameraPath
iFPS=60
SNif=Test\CameraPath.nif
[Absorb]
fAbsorbGlowColorB=1.0000
fAbsorbGlowColorG=0.6000
fAbsorbGlowColorR=0.0000
fAbsorbCoreColorB=1.0000
fAbsorbCoreColorG=1.0000
fAbsorbCoreColorR=1.0000
iAbsorbNumBolts=1
fAbsorbBoltGrowWidth=0.0000
fAbsorbBoltSmallWidth=7.0000
fAbsorbTortuosityVariance=2.0000
fAbsorbSegmentVariance=7.0000
fAbsorbBoltsRadius=5.0000
[OPENMP]
iThreads=25
iOpenMPLevel=30
[TestAllCells]
bFileShowTextures=1
bFileShowIcons=1
bFileSkipIconChecks=0
bFileTestLoad=0
bFileNeededMessage=1
bFileGoneMessage=1
bFileSkipModelChecks=0
bFileCheckModelCollision=0
[CopyProtectionStrings]
SCopyProtectionMessage2=Insert the Oblivion Disc.
SCopyProtectionTitle2=Oblivion Disc Not Found
SCopyProtectionMessage=Unable to find a CD-ROM/DVD drive on this computer.
SCopyProtectionTitle=CD-ROM Drive Not Found

 

I honestly can't tell anyone what I all changed in the ini. I was in a sort of haze. Insomnia from MS pains. It was like I was possessed. 

Link to comment

 

I removed a total of 31 BSAs. I actually notice smoother game play, and about 5 more FPS.

That's what I would expect. Glad to see someone else finding that dismantling BSAs is the way to go.

It probably depends on if you have a lot. Not sure how many is the tipping point, but figured with the amount I had, I would give it a go, after my first attempt earlier in this thread.
Link to comment

This is a very interesting thread. Are these considerations about BSAs valid for FO and Skyrim too?

There's a Skyrim guide in my language, after installing all the mods (i.e. texture replacers) it shows how to package everything inside a BSA. Do you believe it's a nice move to do or not?

Link to comment

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use