SKYRIM
Skyrim Mods Complex Optimizer - SMCO by Mikanoshi
Skyrim » Utilities
Added: 23/03/2012 - 06:27PM
Updated: 10/03/2013 - 09:50PM

1,050 Endorsements

1.4.2 Latest version

41,495 Unique D/Ls

54,886 Total D/Ls

223,597 Total Views

Uploaded by Mikanoshi

Description

Last updated at 21:50, 10 Mar 2013 Uploaded at 18:27, 23 Mar 2012



Description

SMCO optimizes:
- non-vanilla dds textures in \Skyrim\Data\textures\ folder
- non-vanilla nif meshes in \Skyrim\Data\meshes\ folder
- both of them in \Skyrim\Data\*.bsa files. BSAs are also compressed.
You can also select custom directory with files to optimize, but they must be in the same folders as used in game (from under \Skyrim\Data\textures or \Skyrim\Data\meshes) or exclusions won't be applied!

Program requires minimal to none configuration and was set up for the maximum compression with the minimum quality loss as a priority.

Why should I optimize my mods?

It is always better to have clean and efficient files.
After optimization you can expect:
textures - less vram usage, faster loading, more free disk space;
meshes - gain in fps, slightly faster loading;
BSA - effects from textures and meshes optimization + even more free disk space.

Performance

SMTO is fast :)
It has native 32 and 64-bit executables, supports multithreading and can take the advantages of multicore processors.
E.g. 5GB texture folder is processed in less then 3 minutes (performance was tested with SSD and i7 2600K 4.9Ghz HT Off).

SMCO has a hash comparison feature that makes subsequent optimization runs much faster (thanks to Nowhereville for the idea).
During first optimization SMCO remembers hashes of processed files and all runs after that will optimize only updated files. This also prevents from recompressing already optimized BSAs if there are no files in them that can be optimized.

Installation and usage

- Unpack anywhere
- Run SMCO32.exe or SMCO64.exe depending on what OS you have
- If Skyrim folder wasn't detected automatically, browse it manually. You need to provide path to the Skyrim's root folder (where TESV.exe and SkyrimLauncher.exe are located).
- Select DDS, NIF or BSA tab
- Configure number of threads
- Press "Optimize!" button

* Move your mouse above interface elements to read their descriptions.

Requirements

Utility itself requires only DirectX 9 or above, but it uses external tools to convert and recompress.
You should have these installed to ensure all tools will work fine:
NET Framework 4
Visual C++ 2010 Redistributable Package (x86) or Visual C++ 2010 Redistributable Package (x64)
DirectX Runtimes

Important!

Backup folders
...\Skyrim\Data\textures\
...\Skyrim\Data\meshes\
and your BSA files in ...\Skyrim\Data\ directory before doing anything!

Some additional info

NIF optimization:
This is a new option and you should be careful with it.
In contradiction to texture optimization it can cause game crashes.
Luckily such crashes happen only when entering area with optimized meshes and therefore are 100% stable ;) and can be easily tested.

If you found such meshes, please post them in a comments section so they can be added to exclusions.

BSA optimization:
Utility unpacks .bsa files, optimizes .dds textures and .nif meshes they contain and packs them back with a higher compression rate if possible.
This archives are ignored by the program:
Skyrim - *.bsa
Update.bsa
HighResTexturePack*.bsa
Unofficial Skyrim Patch.bsa
ArchiveInvalidationInvalidated!.bsa
All DLC archives and their unofficial patches


TESArchive tool is used to pack files, it automatically creates backup of a file it overwrites, but only a single one. Backup has .bak extension and is stored in the same directory as .bsa.

Sometimes size of BSA archive can increase after optimization, it's because SMCO doesn't compress BSAs that contain certain file types. If there is at least one file of such type, archive will not be compressed. That file may be unused ingame or duplicated as a loose file, so you might not notice any problems with original compressed BSA, but there is always a possibility.
SMCO tries to follow the vanilla archives compression rules, so it can fix errors caused by improperly compressed BSAs.

Conversions:
DXT5/3 w/ blank alpha -> DXT1
A8R8G8B8 w/ blank alpha -> DXT1
A8R8G8B8 -> DXT5
R8G8B8 -> DXT1
R8G8B8 -> R5G6B5
X1R5G5B5 -> DXT5
R5G6B5 -> DXT5
Wrong DDS dimensions -> Fix by resizing
Nif -> Stripify all TriShapes, combine properties and remove bogus nodes
BSA uncompressed -> Max compression if possible

Known issues

- Some NIFs after being optimized can cause crashes in game. Please report such meshes in comments thread.
- Not really an issue, but TESArchive also creates .bsl files along with the .bsa, they are not required by the game and can be deleted manually.