Guide:DDSopt/Skyrim

From S.T.E.P. Project Wiki
Download v2.82 batch files referenced in the Guide (updated January 28, 2016)

Contents

DDSopt Skyrim Quick-Start guide

The quick-start guide provides an overview of how to use DDSopt to optimize the vanilla Skyrim textures and textures in Skyrim mods. It summarizes the basic steps needed to get started and the general guidelines to apply when optimizing any textures. The quick-start includes step-by-step instructions for optimizing the vanilla textures, and for optimizing mod textures from a few selected mods in the STEP guide. It has a complete set of instructions for these tasks; it is not necessary read any other guide sections for these tasks. It also provides pointers to other sections of the guide where optimization is covered in greater detail.

The QuickStart is intended as

  • the starting point for those that just want to accomplish vanilla texture optimization and perhaps optimize some mod textures, and never really use DDSopt again if possible,
  • the initial set of optimization steps for those who will do further optimization later, and
  • a summary of some of the guide material for more experienced users who will want to read through significant portions of the rest of the guide.
Info-Logo.png Notice: If you arrived here from the Skyrim Installation Guide during your setup of STEP, please return to the [STEP Guide] and complete Step 1.B Skyrim Launcher Options before continuing below. DDSopt is an optional step which can completed any time after 1.B in the STEP Guide. Many users wait until using Skyrim for a while with the STEP guide mods installed before returning to optimize textures.

Setup DDSopt

To reduce potential issues on Windows OS, the following should be considered:

  • The user must have Administrative access on the system to use DDSopt, otherwise the settings changes won't be saved
  • Applications installed within User Access Controlled (UAC) directories (e.g., Program Files, Program Files (x86)) may not behave as expected, so consider installing DDSopt and Steam into other directory locations (e.g., D:\Games\DDSopt and D:\Games\Steam).

The main pages of the DDSopt guide have a more detailed description of setup for DDSopt and the effect of configuration settings. The material below is a summary of this material.

DDSopt Setup:

  1. Before using DDSopt the first time make sure to launch the game at least once so the game configuration settings and some important registry values are set.
  2. Make sure the 2012 Visual C++ redistributable from Microsoft is installed on the system; the current 32-bit and 64-bit versions are available here. When using a 64 bit version of windows installing both the 32 and 64 bit versions is recommended.
  3. Download DDSopt 0.8 - pre-release - update 4 from the Nexus.
  4. Since DDSopt is completely portable, there is no installer, so extract the files into a folder (e.g., D:\Games\DDSopt).
  5. Create a shortcut to the applicable executable (32-bit or 64-bit, depending on which version of Windows is being used).
  6. Right-click the shortcut, go to the [Compatibility] tab, tick the [Run this program as an administrator] checkbox, and click the [OK] button.
  7. Be sure to update to the latest version of DDSopt.ini, and place it into the same folder as the DDSopt executables, overwriting the older version of this file.

The downloaded version of DDSopt does not have the proper initial configuration for the steps that follow, so follow the instructions on configuring DDSopt using the screenshots below so DDSopt will use the parameters that STEP has determined seem to provide the best DDSopt performance. The Interface section of the main DDSopt guide has detailed descriptions of the parameters and the recommended settings, and it's useful to read this section before running DDSopt. The initial configuration can be altered, but these settings are known to produce "good" results for the vanilla textures. Once the GUI settings are changed, they should stay at the same values even when an updated version of DDSopt is installed. The first time DDSopt is used, be certain to select the correct game of interest using the [Game] menu or choose the autodetect option.

The following screenshots of settings are provided for reference. The [Ignore borders on optimizing] setting under the [Behave] menu should be left at the default value of "1px, max. 1%".

Main Menu Settings

  • Behave

    Behave

  • Apply

    Apply

  • Ignore

    Ignore

  • Compression

    Compression

  • Settings

    Settings

  • Constraints

    Constraints

  • DXTx Constraints tab settings

    DXTx Constraints tab settings

  • Alternate Constraints tab settings

    Alternate Constraints tab settings

Behave Menu Settings

  • Behave - Normal Maps

    Behave - Normal Maps

  • Behave - Foliage Maps

    Behave - Foliage Maps

  • Behave - Color Maps

    Behave - Color Maps

  • Behave - Alpha Maps

    Behave - Alpha Maps

Some of the Constraints tab settings will be modified in the processing steps on this page. The DXTx Constraints tab settings are used when the user wants all the textures to use DirectX compression; this is not typically the case. The Alternate Constraints tab settings are used when uncompressed normal maps are present or might be present (e.g., in the mods by Isoku); these settings retain uncompressed normal maps but provide a small size reduction. Based on recent testing, the suggested setting for [Behave] > [Raise foliage-map opacity each mip level] is checked for vanilla textures but unchecked for textures from mods.

Note that the DDSopt Browser Tab uses several colors to indicate properties of the individual files in the Browser window:

  • dark green — unprocessed textures (exist only in source location)
  • blue — non-texture files of any type
  • gray — file existing only in the destination
  • purple — ignored textures
  • black-strikethrough — already DDSopt processed files
Info-Logo.png      Notice:The foliage settings under [Behave] should be checked for the vanilla textures but disabled for non-vanilla textures like Vurt's Skyrim Flora Overhaul

The rest of the Quickstart covers using DDSopt to optimize the full set of vanilla Skyrim textures, and to optimize textures in some of the key mods in the STEP guide that benefit the most from this optimization. Overall, the approaches described in this guide have the goal of selectively reducing texture sizes without noticeable loss of graphic quality. Texture size reduction improves game stability by reducing the VRAM used by Skyrim, but only a few categories of textures provide noticeable VRAM usage reduction when texture size is reduced.

Options for Optimizing Vanilla Skyrim Textures

Before following the steps below for optimizing the Vanilla Skyrim textures, several other options should be considered. There are three mods available for Skyrim that provide optimized textures for the base game and all the DLC. Note that each of these mods use different optimization criteria and parameters, as covered in the description page for each mod:

  • STEP Optimized Vanilla Textures (look under the FILES tab) provides two resolution versions of optimized vanilla textures. These exclude any vanilla textures that are replaced by mods in the STEP guide since they would be overwritten and are thus unnecessary when including all the mods in the STEP:Core list that change vanilla textures. This has the benefit of reducing the size of the optimized texture BSA files provided by this mod.
  • Optimized Vanilla Textures provides several resolution choices for vanilla textures optimized using DDSopt. The processing used to create these is similar to the process outlined below; this mod uses a different strategy for handling monocolor textures than is used in the process discussed here.
  • Vanilla Reduced Textures provides multiple resolution choices of optimized vanilla textures for systems with limited VRAM.

Most users will find one of the three mods above sufficient for their vanilla Skyrim texture optimization needs, particularly since using DDSopt is fairly complicated. If one of these is chosen the vanilla texture optimization processing steps below can be skipped; the section on optimizing mod textures is still applicable of course. The three vanilla optimization mods above replace most, but not all, of the textures in Skyrim - textures.bsa and the three High Resolution Texture Packs, so these four BSAs are still needed in the game. This does not have a significant effect on the game, and the textures from one of these mods will be adequate for most users as previously mentioned.

The vanilla optimization steps below are useful if:

  • optimized replacements for these four BSAs are desired that completely eliminate the need for these BSAs,
  • files containing only the unreplaced textures are desired to supplement the selected optimized textures from the first mod above, so that the combination of the two sets of optimized textures will eliminate the need for the four vanilla BSAs optimized by the process in this guide, or
  • different optimization criteria or parameters are desired than those used for these mods.

Optimize Vanilla Skyrim Textures

Extracting Vanilla Texture BSAs (brief version)

The material in this subsection summarizes the material in Vanilla Texture Preparation The first and most tedious steps are getting the textures into folders so DDSopt can be used with them. The vanilla Skyrim textures are in BSAs, so they need to be extracted before use. Using a fast drive with at least 45 GB of available space, create the following directory structure where indentation means a lower directory level (e.g., "Vanilla Extracted" is inside "Working" directory), and the comments inside parentheses indicate what should be put into the folder.

Working
Vanilla Extracted
HRDLC1 (contents of HighResTexturePack01.bsa)
HRDLC2 (contents of HighResTexturePack02.bsa)
HRDLC3 (contents of HighResTexturePack03.bsa)
STD (extract 'Skyrim - textures.bsa' - only)

Note that the three DLC BSAs are not included in this list. The HRDLC includes copies of all of the textures in the DLC BSAs that are useful to optimize, so it is not necessary to extract these from the individual DLC BSAs.

Manually extract the contents of all the vanilla BSAs into the respective directories created above using the DDSopt instructions in the Extracting Textures subsection or the simpler BSAopt instructions. The instructions below use DDSopt for this task.

  1. Start DDSopt, then click on the [Browse] button near the top.
  2. If the file type box in the lower right doesn't say "All Documents (*).(*)" or "Bethesda Software Archive (.bsa)", change it so one of these shows.
  3. Navigate to Steam\SteamApps\common\skyrim\Data\ (henceforth, referred to as the “Data directory”). Select HighResTexturePack01.bsa and click the [Open] button. It might take up to a minute to scan the BSA.
  4. Click [Ignore] from the main menu and tick [Don't process any of the known file types]. This will tell DDSopt to extract the contents of the BSA without performing any optimizations.
  5. In [Ignore] also make sure that [Copy unprocessed and ignored files (passthrough] is checked.
  6. Choose a destination location by clicking on the [Browse] button on the bottom and select the HRDLC1 folder created previously. Click the [Use Folder] button.
  7. Click the [Process] button in the lower right to extract the BSA as loose files into the HRDLC1 folder.
  8. Repeat steps 3–7 to extract the contents of HighResTexturePack02.bsa into HRDLC2, HighresTexturePack03.bsa into HRDLC3, and Skyrim - Textures.bsa into STD.
  9. When extraction is complete, click [Ignore] from the main menu and untick [Don't process any of the known file types]. This option is only ticked when extracting files from BSAs.
  10. In [Ignore] untick [Copy unprocessed and ignored files (passthrough] if the DDSopt guide batch files are being used to optimize textures; otherwise it is typically left as ticked.
Working Folder Screenshot

At the end of the extraction process the Vanilla Extracted directory contents should match those in the the Working folder file tree screenshot. Errors in getting the extracted and batch files into the proper folders are the major reason for problems in using the tools provided to simplify the optimization.

Cleaning Vanilla Texture BSAs (brief version)

Download the BAT files using the link at the top of the page, and extract the entire contents into the "Working" directory adjacent to Vanilla Extracted.

Clean up the redundancies and extraneous files in the vanilla HRDLC textures by executing 1_HRDLC_Clean-START_2.8.bat and review the log files if necessary (HRDLC_Clean_ERROR.log should be empty if all went well). This cleaning process runs very quickly and removes 248 files and 2 folders. If the batch file is run more than once the log file will contain errors because the batch file removes duplicate files.

The optimization of the vanilla textures can be done in one of three ways:

  1. using the DDSopt GUI to manually select groups of textures to be optimized in one or more runs of DDSopt into a Vanilla Optimized/ folder (this folder needs to be created before optimization);
  2. using the 2_Skyrim_Pre-optimization_NoSort_2.82.bat batch file which copies all the files that should be optimized to a Vanilla Optimizable folder (which will have 19482 files and 925 folders) and a Vanilla Compressed (which will have 8379 Files and 23 folders) folder. The log file from the batch run can be examined to make sure the batch file ran properly. TheDDSopt GUI is then used to optimize textures into a Vanilla Optimized/ folder (this folder needs to be created before starting optimization with DDSopt). The Vanilla Optimized/ folder is optimized using the default DDSopt parameters as shown above, while the Vanilla Compressed folder is optimized using the DXTx constraint parameters. Option 2 is typically used by experienced users familiar with DDSopt with powerful computers where it is sufficient to perform a single optimization run optimizing all the textures; or
  3. using the 2_Skyrim_Pre-optimization_2.82.bat batch file generated for this guide that supports selective optimization of the textures, with different DDSopt processing parameters used with different texture categories. Selective optimization provides better optimization but adds complexity. Both batch files and subsequent DDSOpt steps can be used with the full set of vanilla textures or, if desired, with the textures from a subset of the vanilla BSAs.

If option 1 or 2 is selected, there are no step by step instructions provided since it is expected that the user has some familiarity with the DDSopt GUI; the main part of the guide includes the details of the individual DDSopt GUI commands. The first 5 optimization steps below for option 3 are relevant for those using option 1 or 2. The directory in step 3 is Vanilla Extracted when using option 1 and Vanilla Optimizable when using option 2, and the Vanilla Optimized folder in step 5 needs to be created manually if using option 1. The user will need to choose the output texture resolution limit in the Constraints Tab before optimizing, and then click [Process] to begin optimizing the textures. Step 20-23 below discusses how optimization of the Vanilla Compressed folder can be accomplished. When the optimization using DDSopt is completed move to the Archive or Move the Optimized Vanilla Texture Files section below after optimization is complete.

If option 1 or 2 is selected, move to the Archive or Move the Optimized Vanilla Texture Files section below after optimization is complete.

Organizing the Vanilla Textures for Selective Optimization using Batch Files

The optimization is covered in detail in DDSopt Optimization. For most users the description below is sufficient. An alternate approach using the DDSopt GUI to achieve the same optimization results is available in the Appendices.

Working Folder Screenshot after Pre-optimization.

The batch files can be used with any combination (one or more) of the extracted vanilla BSAs listed above. First, run (double click) the previously downloaded 2_Skyrim_Pre-optimization_2.82.bat batch file to sort the textures from the Vanilla Extracted directory into new temporary directories created by the batch file:

Vanilla Ordinary Textures for ordinary textures (textures other than normal maps),
Vanilla Normal Maps for tangent space normal map textures (textures with file names *_n.dds),
Vanilla Exterior Textures for exterior ordinary textures,
Vanilla Exterior Normal Maps for exterior tangent space normal map textures,
Vanilla Body Textures for body-related textures, and if the STD folder is present
Vanilla Compressed Textures for some compressed terrain textures that use different DDSopt processing parameters than those used with the other five folders.

In addition, a Vanilla Optimized Textures folder is created for the optimized textures after DDSopt processing. Textures are sorted into these separate temporary directories since different DDSopt processing parameters can potentially be used for each of these sets of textures.

Once complete, which takes 5-40 minutes depending on the system, the "Working" directory structure will look like the screenshot to the left. The batch file performs multiple steps to ensure the quality of the optimized vanilla textures, as listed in Q3 of the General FAQ. There should be 16 blank lines in log.txt after the batch file has completed.

Optimize the Vanilla Skyrim Textures

The vanilla textures are then optimized using DDSopt (as described in more detail in next guide subsection Optimize the Vanilla Textures).

DDSopt, using the DDSopt GUI to control processing) is run five times, once for each of the five temporary directories. If an SSD is available with at least 16 GB of space it can be used to to reduce processing time (see the instructions in the "Using an SSD to Reduce Processing Time" sidebox in this tab.

These instructions assume that DDSopt is setup with the parameters in the figures in the "Setup DDSopt" subsection at the top of the page. The resolution limit parameter choices conservatively assume a graphics card with at least 1.5 GB VRAM, although most users with 1 GB cards should also be able to use these settings especially with the use of the newly available memory management mods (ENBoost, SKSE 1.7.3" (which includes Skyrim memory patch 3.0)). The recommended settings are usually adequate for almost all users with systems that support including the High Resolution Texture Packs.

H1 Constraints tab settings
Working Folder Directory Tree after Vanilla Texture Optimization
  1. Launch DDSopt if it is not already running.
  2. Click [Ignore] from the main menu and untick [Copy unprocessed and ignored files (passthrough)] if it is ticked.
  3. In the [Browser] tab, click [Browse] in the upper window.
  4. If the file type box in the lower right doesn't "All Documents (*).(*)" change it so this shows.
  5. As the initial source folder, select the Vanilla Ordinary Textures directory
  6. Tick the [Show Recursive] checkbox below the center text box.
  7. In the lower window click [Browse] and select the Vanilla Optimized directory as the current destination.
  8. Change the [Constraints] tab settings if necessary to match the settings in the Constraints figure for the Main Menu Settings above, but change the two resolution limits values to 2048×2048 (or less if needed).
  9. Click [Process] to begin optimizing the textures from Vanilla Ordinary Textures into corresponding locations under Vanilla Optimized.
  10. When this processing is complete, using the same procedure choose Vanilla Normal Maps as the current source in the upper window of the Browser Tab and again Vanilla Optimized remains as the current destination (lower window).
  11. Click [Process] to begin optimizing the textures from Vanilla Normal Maps into corresponding locations under Vanilla Optimized.
  12. When this processing is complete, using the same procedure choose Vanilla Body Textures as the current source in the upper window of the Browser Tab and again Vanilla Optimized remains as the current destination (lower window).
  13. Click [Process] to begin optimizing the textures from Vanilla Body Textures into corresponding locations under Vanilla Optimized.
  14. When this processing is complete, using the same procedure choose Vanilla Exterior Textures as the current source in the upper window of the Browser Tab and again Vanilla Optimized remains as the current destination (lower window).
  15. If desired, the resolution limit settings on the [Constraints] tab can be changed to 1024×1024 to reduce VRAM use on systems with 1 GB or less VRAM.
  16. Click [Process] to begin optimizing the textures from Vanilla Exterior Textures into corresponding locations under Vanilla Optimized.
  17. When this processing is complete, using the same procedure choose Vanilla Exterior Normal Maps as the current source in the upper window of the Browser Tab and again Vanilla Optimized remains as the current destination (lower window).
  18. Set the resolution limit settings on the [Constraints] tab to 1024×1024. (Changing this to 2048×2048 would only change optimization for 10 large normal maps; users with high end systems may prefer to keep these at full size; do not change the resolution limit parameter in this case.)
  19. Click [Process] to begin optimizing the textures from Vanilla Exterior Normal Maps into corresponding locations under Vanilla Optimized.
  20. When this processing is complete, using the same procedure choose Vanilla Compressed Textures as the current source in the upper window of the Browser Tab and again Vanilla Optimized remains as the current destination (lower window). Note that if the STD folder (containing the contents of Skyrim - texures.bsa) is not present in Vanilla Extracted the Vanilla Compressed Textures folder won't be present since wouldn't be needed, and steps 20-23 can be skipped.
  21. Change the [Constraints] tab settings to match the "DXTx Constraints Tab" settings in the Main Menu Settings above. These settings use DirectX formats instead of Uncompressed texture settings.
  22. On the [Constraints] tab the resolution limit values in DDSopt can be left at the default 8192×8192 or set to 2048x2048 without affecting the result.
  23. Click [Process] to complete the optimization.
  24. Change the [Constraints] tab settings back to the default values.

The optimization is complete, and the "Working" folder should look like the "Working" folder figure on the right. Compare the counts of files and folder in each directory if there are any issues.

Archive or Move the Optimized Vanilla Texture Files

The optimized vanilla texture files are then ready to be archived into 1–4 archive files, or alternatively moved without first archiving them. If Mod Organizer is used the archiving step can be eliminated if desired. Move the 1–4 folders inside Vanilla Optimized to the directory where Mod Organizer stores mods (typically the Mod Organizer\mods folder) and make sure that any folders with optimized DLC textures have names different than the original BSA name.

If archiving is done it can be done manually or, optionally, using the 3_Compress_Vanilla_7z_2.8.bat batch file to automatically produce one 7zip archive file for each vanilla BSA. When archiving STEP recommends using the 7zip archive tool with the non-solid option and LZMA2 compression; the batch file uses these parameters. Processing can take a while especially if the files are not on an SSD, but no user intervention is needed once the batch file is started and the "Enter" key is typed after the initial pause.

  1. If using the batch file, start the 3_Compress_Vanilla_7z_2.8.bat batch file. The command window will show its progress. It adds "_opt" to the end of each file name, creates an archive file for each vanilla BSA used, and moves the archive files into a Vanilla Optimized Archive directory (created by the batch file if it doesn't already exist).
  2. After all archives have been created and confirmed, the optimized vanilla texture archive files can be moved to the directory used for the mod manager (Mod Organizer or Wrye Bash) input (e.g., Mod Organizer\downloads or Bash Installers).
  3. In Wrye Bash relative installation order should have the optimized STD archive file earliest (nearest the top in the "Installers" tab in Wrye Bash), then any optimized DLC texture archives, and finally any archive files for HRDLC textures. After installation, with Wrye Bash, esp plugins for any HRDLC that now have an archive file of optimized textures should be unchecked in the "Mod" tab while the esm plugins for any DLC being used remain checked.
  4. For Mod Organizer 1.2.11 or later the installation instructions for optimized vanilla textures are available in the detailed instructions for the DLC mod pages on the STEP wiki.
  5. If desired, the entire Working Directory can be deleted to reclaim roughly 50 GB of drive space. Some users might want to save the "Vanilla Extracted" folder on a hard drive.

This is a potential stopping point for the first time that DDSopt optimization is used with Skyrim. The steps following this are even more complicated and are intended for intermediate and advanced users. It can be initially skipped until a later time so that experience with Skyrim game performance can be used to guide decisions on how further optimization is done. The Examples of DDSopt Use tab, includes four examples of typical DDSopt use on individual mods in Skyrim. Later sections in the guide provide more comprehensive approaches to optimizing sets of vanilla and mod texture than just simpler approaches typically used for individual mods (e.g., using DDSopt to improve quality without reducing texture size, or using DDSopt to reduce only the tangent space normal map texture sizes in a mod as described in the second example in this section.)

STEP Mods and Optimization

The next three sections in the guide starting with Optimizing the STEP Mods cover optimizing mods. The goal when optimizing textures such as those in the STEP guide mods is to get some small improvements in graphic quality in most of the textures, and to reduce the VRAM use while preserving graphic quality of the small set of textures (mostly exterior textures) that have significant impact on VRAM use. Mods need to be optimized only to the extent needed to meet these goals; all mods don't need to be optimized.

Prepare Mod Textures for Optimization

Since this is a QuickStart guide, the following provides instructions for optimizing the subset of mods in the STEP guide that gain the most from optimization. DDSopt will change the compression type for some of the textures in these mods, reducing the memory they use, and will replace the mipmaps with better ones (and in a few cases a more complete set of mipmaps). Other mods, including those not in the STEP guide, can later be optimized using the instructions below or the more detailed version of these instructions in the guide sections. These mods are:

  • 83Willows 101BugsHD
  • Better Bones
  • Better Freckles
  • Better Circlets
  • Dark Brotherhood Tenets Restored
  • Elemental Staffs
  • Frost Atronach HD
  • HD Ore & Ingots
  • High Quality Food and Ingredients
  • HQ Paper
  • Hybrid's HD Plants and Herbs Retexture
  • More Realistic Hair
  • New Children
  • Not Really HD-Keys
  • Quality World Map
  • Radiant and Unique Potions and Poisons HD
  • Re-Defined Dungeons
  • Septim HD
  • Serious HD
  • Silly Level of Detail - Wine Cellar
  • Sweet Mother
  • Trees HD
  • Whiterun Trellis Redesigned

Note that some of these mods are no longer part of the STEP Skyrim guide, and some are now included in the STEP Compilation in the files in the STEP - Skyrim Total Enhancement Project page on Nexus and thus don't need to be optimized.

For those using mods in Skyrim Revisited: Legendary Edition or the Real Explorer's Guide to Skyrim pack, the list below includes some mods from these packs that are not in the STEP guide and also gain from the use of DDSopt texture optimization.

  • Falskaar
  • Helgen Reborn
  • Oblivion Realms Series - Morthal Pain
  • The Lost Wonders of Mzark
  • Wyrmstooth

The user can select the most appropriate versions of each mod from the STEP guide when versions are available with different texture resolution. Most users will use either the baseline version from the STEP guide or a higher resolution version.

Like the vanilla textures, the optimization of textures in mods can be done in one of three ways:

  1. using the DDSopt GUI to manually select groups of textures to be optimized in one or more runs of DDSopt;
  2. using the 4_Skyrim_Mod_NoSort_2.8.bat batch file which copies all the files that should be optimized to a Mod Optimizable folder, and then using the DDSopt GUI to optimize textures (this option is typically used with powerful computers where it is sufficient to perform a single optimization run optimizing all the textures); or
  3. using the 4_Mod_Sorting_Pre-optimization_2.81.bat batch file generated for this guide that supports selective optimization of the textures, with different DDSopt processing parameters used with different texture categories. Selective optimization provides better optimization but adds complexity. Both batch files and subsequent DDSOpt steps can be used with one or more mods.

The two batch files do not optimize textures in BSAs since these might contain non-texture resources. For mods with simple packaging (no complex Fomods or Bain wizards) any BSAs present can simply be extracted into the same folder as the the rest of the mod resources. With complex Fomods or Bain wizards extract individual BSAs, optimize any textures, and repackage the files into a BSA (using the original BSA name) using Archive.exe from the Creation Kit, and replace the BSA in the mod file with the optimized version.

If option 1 or 2 is selected, move to the Archive or Move the Optimized Mod Files section below after optimization is complete.

The instructions in the rest of this subsection initially use a batch file to separate the textures from mods into 5 folders. The optimization steps in the next subsection use DDSopt to recombine optimized versions of these textures into individual mod folders in a new Mod Optimized directory created by the batch file, similar to the steps used for optimizing the vanilla textures. This set of mod files contain far fewer textures than the vanilla BSAs, so this optimization takes much less time. The texture resolution limit parameters used are suitable for most users; users with limited VRAM might choose smaller resolution limits on some of the texture types. The detailed guide sections discuss other DDSopt settings options.

  1. In the "Working" directory (which can be the same one used for vanilla textures if desired) create a new Mod Extracted folder. Extract the mod files from the mod list above into folders in the Mod Extracted'directory, with one folder per mod archive file.
  2. If this has not already been done, Extract the customized batch files referenced at the top of this Quickstart guide including 7zxa.exe into the Working Directory adjacent to Mod Extracted.
  3. Run the 4_Mod_Sorting_Pre-optimization_2.81.bat batch file. At the start of the batch file several tests are run to make sure the batch files are in the right folder, the folder structure is correct, and the programs needed are available. The results of these tests are shown in the command window. If everything is OK then hit enter to proceed.
  4. The batch file will soon ask "To separate external textures from other textures enter "Y" at the prompt". Type "Y" and then "Enter". The batch file will continue running, providing output to the command window showing which batch file step is in process.
  5. When the batch file has completed running it will put The batch file processing is complete. Check the log file (log.txt) for errors. on the command window. As noted in the command window, ignore any errors in the log file with ERROR level of 3 or less as these are normal for this particular batch file. Hit "Enter" to finish the batch processing.

Once the batch file has completed processing, the Working Directory structure should have been updated to (none of these folders will be empty):

Working Directory
Mod Extracted
(one folder for each mod that has been extracted)
Mod Optimized
(one folder for each mod being optimized that has non-texture files)
Mod Ordinary Textures
(one folder with for each mod being optimized that has non-exterior textures)
Mod Normal Maps
(one folder with tangent space normal map textures for each mod being optimized that contains non-exterior normal map textures)
Mod Body Textures
(one folder with body-related textures for each mod being optimized that contains these textures)
Mod Exterior Textures
(one folder with exterior textures for each mod being optimized containing exterior textures)
Mod Exterior Normal Maps
(one folder with exterior tangent space normal maps for each mod being optimized that contains exterior normal map textures)

Optimizing the Mod Textures

Now that the textures are separated into categories they are optimized with DDSopt.

Additional Batch File Capability

The batch file has one additional capability, although users will generallyto bypass this capability when initially using the batch file as it adds complexity to the processing. A few Skyrim mods containing large numbers of replacement textures are available in multiple versions, each with a different maximum texture resolution. Current STEP mods with a mix of exterior and non-exterior textures available at different resolutions are:
  • Serious HD Retexture,
  • Skyrim HD,
  • Trees HD, and
  • Mushroom Retexture Pack.

With these mods the batch file can take the exterior textures from a version of the mod with lower resolution textures and the rest of the textures from a version of the mod with higher resolution. This eliminates or at least reduces the need to use DDSopt to reduce the resolution of the exterior textures for these mods; instead, textures provided by the mod author are instead used which presumably will have better quality. While the three mods above may seem like a small set, they replace over half of all the exterior textures in the STEP mod list (not counting textures from Skyrim Realistic Overhaul for which the available version already includes optimized textures).

To use this feature, create two new directories in the Working directory, Higher Res Mod Files and Lower Res Mod Files. Extract the higher resolution version of the mod(s) into the Higher Res Mod Files folder, and the lower resolution version of the mod(s) into the Lower Res Mod Files directory. Use the same names for the folders with the high and low resolution versions of the mod so their will automatically be recombined after optimization. For these mods nothing needs to be extracted to the Mod Extracted directory.
  1. Launch DDSopt if it is not already running.
  2. Click [Ignore] from the main menu, untick [Copy unprocessed and ignored files (passthrough)], and tick [Don't process any already processed files (DDS only)].
  3. In the [Browser] tab, click [Browse] button in the upper window and as the initial source folder, select the Mod Ordinary Textures directory
  4. If it is not already checked, tick [Show Recursive] below the center text-box.
  5. In the lower window, click the [Browse] button and then select the Mod Optimized directory as the current destination. The DDSopt [Browser] tab will then show the mods being optimized that have ordinary textures.
  6. Change the [Constraints] tab settings as necessary to match Figure H1 (see above) settings. In H1 all the format settings are set to Uncompressed lossless and the resolution limits are 2048×2048.
  7. Click [Process] to begin optimizing the textures from Mod Ordinary Textures into corresponding locations under Mod Optimized.
  8. When processing is complete, use the same procedure to choose Mod Normal Maps in the [Browser] tab as the current source (upper window) while Mod Optimized remains the current destination (lower window). The DDSopt [Browser] tab will then show mods being optimized that have normal maps.
  9. The [Constraints] tab resolution limit settings don't need to change.
  10. Click [Process] to begin optimizing the textures from all sources under Mod Normal Maps into corresponding locations under Mod Optimized.
  11. Choose Mod Exterior Textures in the [Browser] tab as the current source (upper window) while Mod Optimized remains the current destination (lower window). The DDSopt [Browser] tab will then show mods being optimized that have exterior textures.
  12. The [Constraints] tab resolution limit settings don't need to change unless greater VRAM usage reduction is desired.
  13. Click [Process] to begin optimizing the textures from all sources under Mod Exterior Textures into corresponding locations under Mod Optimized.
  14. When processing is complete, use the same procedure as before to choose Mod Exterior Normal Maps in the [Browser] tab as the current source (upper window) while Mod Optimized remains the current destination (lower window). The DDSopt [Browser] tab will then show mods being optimized that have exterior normal maps.
  15. Change the [Constraints] tab resolution limit settings to 1024×1024.
  16. Click [Process] to begin optimizing the textures from all sources under Mod Exterior Normal Maps into corresponding locations under Mod Optimized.
  17. When this processing is complete, using the same procedure choose the Mod Body Textures directory as the current source in the upper window of the [Browser] tab and again Mod Optimized remains as the current destination (lower window). The DDSopt [Browser] tab will then include mods with body-related textures.
  18. Change the [Constraints] tab resolution limit settings to 2048×2048 (note that body-related textures are more sensitive than most textures to size and format reductions).
  19. Click [Process] to complete the optimization.
  20. Change the [Constraints] tab settings back to the default values.

The optimization is complete. The Mod Optimized directory will now have folders with optimized textures for all the mods that were extracted.

Archive or Move the Optimized Mod Files

The next task is to package the contents of the mod directories in Mod Optimized into archive files corresponding to each mod folder, or alternatively moved without first archiving them. If Mod Organizer is used the archiving step can be eliminated if desired. Move the mod folders inside Mod Optimized\ to the directory where Mod Organizer stores mods (typically the Mod Organizer\mods\ folder). If the folders that were optimized were originally copied from Mod Organizer\mods\ folder then they can be copied back to that folder to overwrite the textures that will be replaced by optimized versions.

Archiving can sometimes take a long time, although it is typically much shorter than the time to archive the vanilla textures, but is needed is going to be installed by Mod Organizer. Even if the folders or optimized textures are copied back into the Mod Organizer\mods\ folder it is useful to also archive the folders to provide a backup copy of the optimized textures.

This can be done manually or, optionally, using the 5_Compress_Mods_7z_2.8 batch file. This batch file will automatically create 7-zip archives of each individual mod, add _opt to the end of each optimized mod file name, and move all the archived mods into a Mod Optimized Archive directory (created by the batch file if it doesn't already exist). These archives can be moved to the folder used to install mods with a mod manager. or to a backup folder.

The rest of the discussion in the guide on optimizing textures in Skyrim mods provides recommendations on how to determine DDSopt settings when optimizing textures from mods.

Reduced Resolution Normal Maps and Exterior Textures for Improved Game Performance

If desired, the techniques in this section can be skipped the first time through as they are not as straightforward as the previous ones. The batch files already include texture sorting to simplify using different maximum texture resolution for different texture types, so the processing techniques in the next paragraph are needed only if manual optimization is used.

If you want to achieve some game performance improvements without much graphics quality loss, there is one additional consideration. The mods with a Yes in column 3 of the STEP Mod Table contain some exterior textures, and as discussed above when optimizing STEP recommends using a lower resolution limit parameter on these exterior color map and normal map textures than that used for non-exterior textures. For non-exterior textures there may also be some VRAM usage reduction with reduced maximum size with some of the tangent space normal maps (files ending in _n.dds) on non-exterior textures. Note 6 in the STEP Mod Table indicates mods which may benefit from this.

To create reduced size normal maps for a mod follow the processing steps in the first example in the Example: Creating Optimized Reduced Resolution Normal Maps subsection of the Appendix.