Utilities

Utilities Overview

There are lots and lots of texture replacers out there, but many of them aren't done as well as they could be. I'm not talking about quality here, but optimization. Some use way more polygons than they should, aren't compressed properly, are missing mipmaps, or have other issues that could cause problems ranging from the files simply being too large to crashing your game.


Optimizers

This term covers tools that turn the basic texture and mesh related output into more optimal form to enhance detail and/or performance. The available choices below were primarily developed for Oblivion, but may work for other TES games if they use the same file formats. It is important to note which tools work on which elements of an object's image.

OPO and fps Poly Gone Ext


Oblivion PolyGone Overhaul (OPO) was an early (2006) attempt to improve performance by reducing the number of poygons in objects. Considered by the team to be 'finished' in 2008, it focused primarily on rock objects: reducing the number of polygons by 20-40% with apparently no loss is quality. It is no longer being developed. Last file update in 2010.

fps Poly Gone Ext is an independent extension to the work done with OPO, by removing bump textures for a small FPS gain but only with specific mods listed on the download page, which must be obtained individually. It's intended target audience is low end machines. Last updated in 2011.

[Jump to End]

[Back to Top]


PyFFI


Until recently (2011), there was considered to be only one true, broadly effective program for optimizing files: PyFFI. PyFFI only works on meshes, but it does a wonderful job by reducing vertices, removing unnecessary data, and generally making meshes better. Basic instructions may be found on TESCOSI. Note that there are provisions for a 'skip list', which instructs PyFFI to not attempt to optimize specific files. Not all meshes take well to optimization, such as creatures, helmets, armors, etc. Check the TESCOSI page carefully and always have backups.

Please note that most discussion of PyFFI on the Oblivion forums refers to version 2.1.10-11, which requires Python 2.x.x libraries. PyFFI itself is a Python library for the specific task of optimizing texture meshes in a variety of ways. The latest version is called PyFFI-py3k and is designed for Python 3.x.x libraries. Most Oblivion utilities that require installation of Python libraries, such as Wrye Bash (but not the standalone version), are not yet compatible with later version 3 editions of Python, thus probably requiring the installation of multiple libraries. If you do not want to deal with multiple Python libraries, stick with Python 2 and PyFFI 2.1.11. There a number of 'optimizing' addons for PyFFI available, but were designed for older versions. Current opinion is that the provided files in the PyFFI 2.1.11 package are fully optimized and all that are needed. The process does take some time, measured in hours. General advice is to plan to let it run overnight. Common questions and answers can be found here.

It should be noted that PyFFI is not simply a mesh optimizer. It is a library to read and write a variety of Python file formats, and as such has other uses beyond those of interest here. By reducing the amount of data that gets loaded into memory you increase performance as expressed in FPS or have room in VRAM for higher resolution images. By itself, you are not going to see any resulting visual improvement to the images. It does not touch textures. For those, you need another tool (below).

Another common question: Is it safe to run PyFFI on files that may have already been optimized? The experience of several who have done so is: Yes, with some cautions. The latest versions of PyFFI include 'exclusions' to avoid processing certain types of files known to not optimize well. As Sigurd Stormhand explains in this post on the Bethesda Software forums:

PyFFi'ing an already optimised mesh will do nothing - a mesh properly constructed in Blender, which has been optimised, will sometimes come out BIGGER because of the way the blocks have been ordered.

The "danger" in optimising using an algorithm is that it may accidentally remove vertices related to particular bones (splits between two pieces of armour on the chest, for example), or that it will mess up the weighting when the shape is "stripified".

Another reason not to optimise has to go with vertex painting and vertex drawing - you don't always want the painting to spill from one edge to the next, so you split the mesh, or with sharp angles like the roof of Bruma castle I did - run that through PyFFi and the roof will have hideous gray streaks on it and won't look right from most angles. The reason for that is that the apex of the roof is acute - so the apex DOESN'T share vertices with the two sides, if it did the vertex normals would be around 60 degrees off - 45 degrees being the most you can get away with.

PyFFi uses a very conservative algorithm - so much so that certain Vanilla meshes can't be fully optimised unless they are loaded into Blender/Max and duplicate vertices removed BEFOREHAND.

Well known large mods, such as FCOM, Better Cities, OOO, MMM, and the like, have already been optimized and say so in their documentation. Mods released before PyFFI became available, such as the vanilla Oblivion BSAs, should always be PyFFIed (and cleaned with TES4(/5)Edit: see the TES4Edit Cleaning Guide and TES5Edit Cleaning Emporium). Focus your attention and efforts on these older files.

Rather than run PyFFI yourself, some people have been wondering if there are any PyFFI-fied files that can be downloaded. Posting any original game assets, even those that have been post-processed in some fashion (called 'derivative works'), is illegal without the express written consent of the copyright holder. However, at least one enterprising soul has provided PyFFI optimized difference patches, which are applied to the original vanilla meshes and as such are legal to distribute.

[Jump to End]

[Back to Top]


NIFOpt, BSAOpt, & DDSOpt


Later, Ethatron came along and developed a tool called NIFOpt for optimizing meshes. This led to BSAOpt (optimizing BSAs) and DDSOpt (textures). There's no longer a need for NIFOpt because both DDSOpt and BSAOpt have the ability to optimize meshes; BSAOpt combines all three into one package, but apparently only works with BSA files. Here is a discussion of test results among them.

DDSopt is a tool which manages and recompresses DDS-files (textures). It has been forked off NIFopt and both programs share the same underlying technology regarding DDSs and BSAs. Both programs treat BSAs exactly like directories, files inside can be addressed easily. It can optimize a BSA for both size and quality of all DDSs contained in it at the same time. It treats every image, that is of one of the supported image-formats, which resides in a "textures"-folder as textures and won't touch images outside that folder. It supports re-saving to automatic selection of different optimal DXT formats (e.g. DXT1c with no alpha, DXT3 with an alpha channel with fewer than 256 colours and DXT5 for more complex alpha channels). It also offers high-quality mipmap-creation, with options for gamma-correct mipping and high-precision variation compression of tangent-space normal-maps as an alternative to normal compressors. Most fields have tool-tips and auto-remember their values, and are persistent between program-runs. Documentation summary located here.

[Jump to End]

[Back to Top]


Optimizer Textures


Not long after that, AdPipino posted Optimizer Textures. It's a descendant of "ORDENADOR - Textures Compress & Reorder" for Morrowind. This has similar functionality - it can add missing mipmaps for greater performance, add proper compression, delete unnecessary files (like thumbs.db), and reduce textures. Say you've found a replacer that you really, really, want, but it's 2048 x 2048. Your system can't handle that load, but you can use OT to reduce them to 1024. However, OT does not allow fine tuning of texture size. A 4096 texture will only reduce to 2048, rather than 1024. Think of this tool as a complementary optimizer to PyFFI/NIFOpt. PyFFI/NIFOpt/DSSOpt = meshes, OT/DSSOpt = textures. It is a direct competitor to DDSOpt.

[Jump to End]

[Back to Top]

Optimizers Summary

So which one to choose? PyFFI is still regarded as the best for optimizing meshes - it's easy to use and does the job well. The only downsides (besides the fact that you'll have to download and install Python libraries to use it) are that it takes awhile and it sucks up nearly 100% of your system resources, so if you want to do a whole batch of files, your best bet is to start it up when you plan to be away from the computer for several hours.

As far as texture optimizers go, DDSopt has a slight edge over Optimizer Textures as far as file reduction options. Both programs are easy to use, and neither has any external requirements. Unlike PyFFI, these run pretty quickly - OT can chew through a 4 GB folder in 20-30 minutes (this is on a quad-core system with Windows 7 and 8 GB of RAM; your results may vary).

Unfortunately, PyFFI will NOT work for Skyrim - meshes are constructed differently between each game, and what works for one won't work for another. Textures, however, remain the same for both, so you can use texture optimizers in Oblivion or Skyrim (whether or not this applies to Morrowind is unknown at the moment).

[Jump to End]

[Back to Top]



Texture Mod Optimization Processing Guide (for BAIN Packages)


(Thanks to Hlafordlaes on the Bethsoft Oblivion Mods Forum for sharing his experiences and creating the foundation of this guide.)

When you download a new texture/mesh mod and want to OPTIMIZE it for use, here's a good way to do it quickly. This is not the only way it can be done, but does cover all the essentials.

Key Assumptions:

  • You have already established a stable modded game load order. This might be nothing more than a fully patched vanilla game, but needs to be without problems so required files are present and any problems that occur can easily be attributed to the optimized texture replacements.
  • You have already chosen what levels of compression and image manipulation you want in those tools that have these options. These may require making changes to the batch files or command lines of the respective tools, as in at least some cases these are not available via INI files.
  • You have already settled upon the texture and mesh replacement you intend to use. Optimization is not the step at which to make such decisions as the process takes significant time (often overnight) that is wasted otherwise.
  • You know how to set up your own BAIN package structures, or work with them. Really: Wrye Bash, and in particular the BAsh INstaller tab (BAIN) cannot be stressed enough as the key to easily managing texture packages. See the Wrye Bash Pictorial Guide "Installers Creation.pdf" file, and the Bethesda Software Forums BAIN Mod Installation Projects thread for guidance if needed.
  • You have TES4Edit installed and know how to use it to "clean" mod files. See the TES4Edit Cleaning Guide if necessary.
  • You have already set up the BSAOpt, DDSOpt, PyFFI and BSA Commander tools, with their respective 'in' and 'out' folders.

NOTE: BSA Commander should be used *ONLY* as an explorer to check BSA files. It does not extract nor compress them properly for use with the game. However, so as to not modify the default directories for DDSOpt or BSAOpt, use BSA Commander as the default program for opening BSA files anywhere with a right click. This is good, for example, to check to see if the BSA files you create contain the same number of files as the originals before copying a modified BSA back into the mod. Of course, until you are sure your changes are all functional, do not erase the original mod download.

NOTE Re: NIFOpt versus DDSOpt. DDSOpt is everything NIFOpt was, only with fewer errors, but seems unable to process meshes along with textures at the same time. No surprise, as it is a more recent branch off the same program. According to the author of the tools, BSAOpt combines all the features of both NIFOpt and DDSOpt, but only in terms of processing BSAs.

Initial Steps:

  1. Extract the downloaded package to a temporary location.
    • To avoid lengthy copy operations, it should be on the same drive partition as the tools above; ideally, same as the game install and Bash Installers partition. In this way, a cut-and-paste is really a file and folder move, and so just an adjustment to the file table. It's much faster.
  2. Cut and paste the entire package (top level folder included, just as it was extracted) into the DDSOpt\in folder.
  3. Process with DDSOpt. This will:
    • Process all loose texture files, AND also all texture files inside BSA files!
    • It also strips out hidden files, such as thumbs.db. This is one good reason to use DDSOpt always as the first tool.
    • The DDSOpt\out folder, when finished, contains ALL the files you need. You can erase the contents of the DDSOpt\in folder.
    • NOTE: To see this step and some "in context" recommended settings, visit the Optimization page.
  4. Cut and paste the entire package into the PyFFI\in folder and process with the bat file. This will:
    • Only process some and not all of the loose meshes, and nothing inside BSA files.
    • It does NOT copy files it does not process, including some meshes, so any untouched yet needed files remain inside the PyFFI\in folder!!! When finished, cut and paste (saying "Yes" to all overwrites) the PyFFI\out folder contents on top of the PyFFI\in folder.
    • Only now do you have all your files again, merged together.
      Forget this essential 'copy and overwrite' merging operation and forget playing Oblivion!
  5. If there are no BSA files to open, you are done with fixing resources. (See the section below if there are BSA files.)
  6. (Meanwhile, optionally:)
    • Simultaneously with the DDSOpt and/or PyFFI processing steps, while you wait, you can clean the ESM/ESP file(s).
    • Copy the ESM and ESP files from the mod to the Oblivion\data folder.
    • Using TES4Edit, clean the ESP files as per the instructions linked above. Let it make a backup when saving.
    • Use the output from TES4Edit, cut and paste all the ESM and ESP files back into the extracted folder.
    • Only paste them back into a folder structure not being processed at the time. Best wait until the PyFFI step is complete and place them in the final and already previously merged\overwritten PyFFI\in results.
    • Do NOT forget to clear the Oblivion\data folder of anything you dropped in there during this process, or they won't be replaced with your optimized versions.

If not processing BSA files, skip to the "Final Steps" section.

BSA Files:

NOTE: DO NOT attempt to compress the Oblivion - Misc.bsa. That broke the xml files needed for the sliders in the chargen menu, a fact that has been confirmed by another following this process. Yet another has reported they have successfully repacked all BSAs except Oblivion - Misc with maximum compression and finds the game "seems more responsive and less juddery", but without any benchmarks to prove it.

You will need to process the meshes inside these files by:

  1. Placing the BSA in the BSAOpt\in folder and extracting it to the BSAOpt\out folder. Select the BSA by name for input, and select "Use folders" for output.
  2. Cut and paste the entire set of folders and files:
    1. into the DDSOpt\in folder and proceed as per the DDSOpt processing step of "Initial Steps" IF for any reason that was not done already.
    2. (from BSAOpt\out, or from DDSOpt\out) into the PyFFI\in folder and proceed as per the PyFFI processing step of "Initial Steps".
  3. When finished processing, copy the final output from DDSOpt\out and/or PyFFI\in (which should now have the optimized output merged along with the still needed but unprocessed files), into BSAOpt\in.
    • Be sure to move the original BSA file back into the extracted mod folder from the BSAOpt\in folder before proceeding.
    • Compress the entire set of folders into a new BSA. Choose "Use folders" for input, and type or paste the name of the BSA file, without the .BSA extension, into the output name. This will instruct BSAOpt to compress and make a new BSA.
  4. Double check your results by opening the new BSA and the old BSA files with BSA Commander, to be sure you have not lost anything on the way.
    If the number is not the same:
    • You forgot to copy the PyFFI\out files onto the PyFFI\in folder, so don't panic, but it is time to start over
      -OR-
    • There may have been a few files that should NOT have been processed and were left out correctly, such as thumbs.db.

      You have to check this sort of thing on a case-by-case basis. (To save time, during the DDSOpt step of "Initial Steps" you can compare the number of files in the DDSOpt\in and the completed DDSOpt\out folders to see if they are the same, and discover early if any hidden files were stripped out (which is good; you want them to go missing).
  5. Copy the new BSA file into the appropriate folder inside the mod package, overwriting the old.
  6. Repeat for each BSA. Proceed with the "Final Steps" section when all done.


Final Steps:

  1. Compress the entire package again with 7zip or similar archive program compatible with Wrye Bash.
    • Rename the file to something that helps you remember what you did.
      For example, you might append the following (or your own acronyms) to mod names, when appropriate:
      • Cln: ESP files were cleaned by TES4Edit
      • PyF: Meshes optimized
      • DDS: Textures optimized
      • Example: MyFavoriteMod_1.0_Cln_PyF_DDS.7z
  2. Cut and paste the compressed package into the \Oblivion Mods\Bash Installers folder.
Now you are ready to order the package and then install inside Wrye Bash!!
Don't forget to 'Anneal All' once all the optimized packages have been installed and ordered, and then rebuild your Bashed Patch.


Problem Files:

If you come across any problem files, such as ones having an initial space in the file name (a known problem), and have trouble, say, extracting them from a .7z package using Wrye Bash, here is what you can do:

  1. Note that in Win7 or Win8, any files you try to manipulate in Windows Explorer will automatically have the initial space stripped. The following operations should take place directly inside, say, the Oblivion\data\meshes\dungeons\caves\exterior folder, to use an example of one that has files with initial spaces, replaced by QTP3.1 with others, also with an initial space, but often failing to extract correctly in Wrye Bash. It is also the case that for this example, both normally-named and improperly named files coexist in the same folder.
  2. In Explorer, select the file(s) that are normally named that you want to have a copy of with an initial space, right click them, select 'copy,' and 'paste' (not a link or short-cut, but so that you end up with file(s) named "OriginalFilename - Copy.ext," where 'ext' is the extension (nif, dds, etc.))
  3. Using a batch renaming tool, such as the free Bulk Rename Utility (BRU), select the files with "- Copy" in the name and place an initial (or "prefix" of) "x" at the start of each file name. You also need to delete the "- Copy" part in the same or a second operation. Now you should have two versions of the file, one with a normal name, and one beginning with an "x".
  4. Now use the batch renaming tool to select and rename the files with an initial "x", replacing the "x" with a space, selecting the option of replacing only the first instance of 'x' as an option in your batch file renaming tool of choice.
    • Once you have confidence in the process, you can simply use the BRU "prefix" option to place a space in front of any existing filename without needing to create a copy … as long as you have a "safety" backup copy somewhere.
  5. Close the tool and get the heck out of that folder. As long as the standard Windows file routines don't modify the files you have what you need, where you need it.

FINAL NOTE:

There are four "orders" to keep in mind to use and enjoy all the work above (aka "LIPP"):

  • Load order: Determined in Wrye Bash by use of the BOSS/LOOT tool, or by manual placement, or with OBMM and similar. Key to getting the game to load and not crash.
  • Install order: Order in which you add mods progressively to the game. Example: FCOM suggested install order. Affects stability. A proper install order ensures that ESM/ESP files from various mods that need each other are installed together.
  • Patch order: For a patch wizard - one that looks to see what other mods are on hand, not just at its own stuff - you need to have almost all other mods installed first, then run the wizard. This is a late part of the overall Install order.
  • Package order: Order in which meshes and textures are prioritized by Wrye Bash, with the higher number packages (lower down the visual list in the 'Bash Installer' tab) overwriting the lower number packages (higher up the visual list).
    THIS is the key variable to manage to ensure the textures and meshes from the mods you want to see show up in the game actually do show up. Once mods are installed, they can be moved up and down the installer package list to change which ones 'win' and which 'lose'. Because this often occurs after all mods have been installed, it and "Patch order" are often forgotten extensions of the "Install order". Use the BAIN tab 'Anneal All' command to implement a changed Package order.

[Jump to End]

[Back to Top]





DDS/DXT to BMP Conversion

Sometimes the desire or need arises to examine, fix, or alter the DDS (Microsoft DirectDraw Surface format) file of some texture of a mod. This usually requires converting the DXT compressed file (extension '.dds.) to a BMP format, editing it in a Paint like program, and then reconverting back to DXT (in an appropriate DDS bit size format). Many but not all programs suitable for editing the BMP file do provide direct or plugin support for the DDS format. Sometimes all that is needed is to produce a BMP file for other purposes than editing.

One of the commonly suggested tools for such conversions is DDSConverter. This program converts between common image files and DXT-compressed textures. Since nVidia's tool is used to achieve this goal, it mostly acts as a front-end to this tool.

The program supports DDS, TGA, JPG, BMP, PNG and PSD image formats (you can import and export to any of those formats). However, it can have problems with the later versions of the Windows OS, notably Windows 7.

The tool DXTbmp Texture Tool provides 8/16/24/32 bit and DXT Extended Bitmap Manipulation for 565, 555-1, 444-4, DXT (CFS2/FS2002), and DDS (CFS3) formats for loading and saving. Images can be passed to any Paint program for editing in 24 bit and then re-imported and saved in any of the 16/24/32 bit formats. Increased options when saving mipmapped images. Different options can be set for mip scaling and mip processing. Support for nVidia codec, and works well on Windows 7.

Transparency (Alpha) channel of textures can be viewed and edited separately from the main image.
DXT1 format does not support the use of the Alpha channel. DXT5 does, which is the principle reason for choosing it as it produces a larger compressed file than DXT1.

[Jump to End]

[Back to Top]




Land Magic

Land Magic (LM) tries to detect and fix tears in the landscape (see land tears in the Glossary). This usually occurs if mods change the same group of cells but not totally overwrite each other. Land Magic (LM) fixes land tears at CELL boundaries of exterior cells, typically only seen when you're right on top of them.

(Land Magic fixes things viewed at short range, and LOD Generators fix things viewed at long range.)

LM generates a 'LandMagicPatch.esp' file that must be added to your Load Order (LO) anywhere after the files that are it's masters. The Wrye Bashed Patch (BP) can contain CELL records, which are containers for LAND records, and Land Magic ignores those CELL records because it is designed (since v0.3) to ignore any file named "Bashed Patch, 0.esp". (It is not clear as to why it was so designed.)

The Land Magic author advises Wrye 'Bashed Patch' users should deactivate the current BP (as LM will not process either the BP or deactivated plugins it includes in the BP), reactivating all the plugins merged into the BP, run LM, then put the LandMagicPatch file before the BP, and rebuild the BP. However, there now appears to be some evidence that renaming the BP to some other name (which WB can be configured to recognize as the BP) will enable Land Magic, when placed after the renamed BP, to incorporate those CELL records. This seems to be an easier solution than reactivating all the plugins merged into the BP just to re-run Land Magic.

Note: TES4LODGen or other LOD Generators should be run after the Land Magic patch is created the first time (because it will affect the LO), but not necessarily afterwards if LM is run again unless the LO changes.

[Jump to End]

[Back to Top]




Texture and Bump Map Resource

Texture and Bump Map Resource (TBMR) is a small .PSD resource file that contains textures with Bump Maps (i.e. Normal Maps that provide the surface lighting detail). This is for people who don't have the programs to generate Bump/Normal Maps. The effective use of this will primarily depend upon your skill at Photoshop, Gimp etc.

This is Free To Use and requires no permission to use in any projects of personal or public mods.

[Jump to End]

[Back to Top]





Plain Normal Map Generator

The Plain Normal Map Generator (PNMG) takes a directory (folder) as input and looks inside for files ending in '_n.dds', which is the suffix TES uses for normal maps. It will then replace it with a small, flat normal map file.

Oblivion's normal maps, for instance, on average range from 10kb to over 1MB. PNMG replaces the normal maps with a flat 312 byte file. This significantly reduces the amount of data that the GPU needs to load, and since the normal map is flat, less processing needs to be done, as the lighting behaves very predictably on it. The benefit is a reduction in the processing load on low-end graphics cards, and it's impossible to notice the quality difference in-game on such a system.

[Jump to End]

[Back to Top]




TES Texture Merging Utility

The TES Texture Merging Utility is "designed to aid users in merging files from different texture replacement mods with previews and automatic copying of normal-maps, glow-maps, etc." This makes it handy for comparing duplicates in up to three different folders of textures ('Data\Textures' is the reference default), selecting your preference, and putting the results into a "textures" output folder in the utility's path that you can later archive as your own personal texture pack. (Remember: redistribution requires permission from all the authors involved, so in general this is best "for your own use only".)

[Back to Top]



TESAnnwyn

TESAnnwyn is a command-line based tool. The author's download page describes it best:

TESAnnwyn is a heightmap import/export utility for TES3 (Morrowind), TES4 (Oblivion), TES5 (Skyrim) and Fallout3/FalloutNewVegas (games all based on a similar game data engine). It can turn the 3D landscape contained in one or more ESP/ESM game files into a single heightmap image, or import a heightmap image back into a 3D landscape for either game. The image formats supported are 8-bit, 16-bit and 32-bit RAW files and 8-bit greyscale, 16-bit and 32-bit BMP files. It can also import and export a 24-bit colour BMP image as a vertex colour map and paste it over the heightmap if desired and it can export a texture placement map for TES3 (multiple layers for TES4) which when reimported will ensure that all the textures are put back in their original places.

TESAnnwyn can also generate cell-sized NIF files from a TES4 landscape, though currently these only contain the heightmap and normals (for shading). This system is still in development but is part of the LOD2: Distant Land replacement system which gives full quality in-game distant land without the bugs in the original game's system, at a notable cost to performance.

TESAnnwyn's heightmap functionality has now been incorporated into TES4qLOD (landscape LOD texture generator tool), which in turn has had it's source code included in v4 of tes4ll (landscape LOD mesh generator tool by the same author), and thus is not needed as a separate program when using either of those tools.

[Jump to End]

[Back to Top]




LOD/VWD Generators

LOD Generators are a more specialized set of texture tools for 'View While Distant' (VWD) objects. They are listed and described on the LODs page. In particular, be sure to read the 'Distinctions among LOD Generators' section.

A common question is which LOD/VWD tools are needed and compatible or work well in combination? Bearing in mind that there may be alternatives to each of these choices, you want to use 'tes4ll' to generate distant LOD meshes, 'TES4qLOD' to generate distant landscape textures, and 'TES4LODGen' to pre-generate distant LOD static objects from _far.nif files that may have been added.

Here is a quick summary, but please read the LODs page for more detail:

  1. tes4ll generates distant meshes for terrain only; hence the name (TES4 Landscape Lod). It can also generate normal maps for distant land textures with faked shadows. It doesn't create distant textures for terrain meshes though because
  2. TES4qLOD generates textures for distant land meshes, which work together with tes4ll meshes. The source code of TES4qLOD is now integrated into tes4ll.
  3. None of the tools above does anything with distant objects!
  4. Distant objects are not the actual meshes (.nif files) you see when up close: they are low polygon versions (_far.nif files). RAEWVD (and other VWD mods) does exactly that - supplies low poly _far.nif files (meshes) and textures for distant objects. However
  5. The game does not show distant low poly objects by default. It uses .lod files in the DistantLOD folder that specify what mesh, where, and at what angle to display.
  6. TES4LODGen generates those .lod files in the DistantLOD folder based on distant objects in your mods and the existence of low poly distant object meshes (_far.nif files) from mods such as RAEVWD (and billboard textures to trees). The vanilla game has .lod files only for a limited number of objects like the Imperial City. Hence the need for VWD mods. If you don't run TES4LODGen, your added distant objects won't appear; unless they came with their own .lod files, and even then they may float or create land walls. TES4LODGen fixes much of that.
  7. Tools/mods work in pairs: tes4ll+TES4qLod and VWD mods+TES4LODGen, but those pairs don't depend on each other at all since they do completely different tasks using different resources/information.
Run TES4LODGen every time you change your LOAD ORDER. It should be pretty much the last thing you do after running BOSS and building your Bashed Patch (assuming you are using Wrye Bash, which is recommended) before launching your game again. The others should be run after all the altering of your texture replacement mods and prior to building your Bashed Patch.

[Jump to End]

[Back to Top]




Game RAM Limitations

Anyone considering using increased texture detail has to realize there are two types of memory they need to consider: system RAM and video RAM (VRAM). VRAM is dedicated to the video processor and is integrated into the video card component (whether integrated into the motherboard or as a separate add-on card). VRAM of 512 MB or less will severely limit the amount of texture resolution increase before performance is adversely impacted. At least 1GM of VRAM is recommended. Use of one of the Texture Optimizers above to reduce the size of the textures may provide a satisfactory compromise for VRAM limited systems.

An issue anyone pushing the limits of what the game can use from available system RAM should have heard about is the "Windows default game size limitation", often called "the 2GB (or 4GB or various values in-between) limit". There is a utility and some tweaks that help with this, but the issue is complex enough that an entire wiki article has been created to cover it: 2-4GB game memory limits and solutions. Even with sufficient VRAM, there is some overlap in use between system and video RAM, so this article should be read by everyone.

[Back to Top]


Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License