Fallout 4's Optimization System has several parts, but the two primary parts of the system that affect both load order and performance are
precombined references and
previs. These are part of visibility optimization in the rendering (graphics) pipeline and are used to speed up Fallout 4's rendering performance.
So what are these things, and how do they affect not only performance but how you plan your playthrough and build your load order framework?
Precombined References are one part of Fallout 4's Optimization System. They are designed to keep 3D object counts as low as possible by combining multiple objects together into one 3D object. So instead of the game having to determine each piece of geometry individually as the player sees it, like-geometries are merged together into one mesh. Due to processor load, combining these objects at runtime is not possible, so they were precombined by the developers before the game shipped (and thus the term
A common analogy of how precombines work is a Lego house. All the pieces are individual until they are snapped together to form what looks like a singular piece. Unlike a Lego house, however, editing one reference in a cell's precombined references will disable all the precombined references for that cell (or cells if objects are precombined from multiple cells). This has a domino effect on other systems, particularly on what's called previs.
Breaking and replacing a precombined reference isn't really a bad thing. It's how you mod the game to add a new reference, like adding a new settlement, a new player home, or a new area for gameplay. Bethesda even did it with the Automatron and Nuka-World DLCs.
Unfortunately, there are five issues with breaking and replacing the references:
- You can only replace the optimization data once per load order.
- The Creation Kit available to the community is less efficient at producing replacements than the in-house editor the developers use and the community version generates files that are incredibly large.
- Regardless of size, because these are external assets, precombined meshes cannot be replaced for PlayStation mods.
- If the game determines that the precombines are invalid, it turns off the optimization system.
- Previs must be recalculated if new precombines are generated. The previs data is not read by the game if the precombines are invalidated.
Previs, or Precomputed Visibility Data, is another part of Fallout 4's Optimization System. This data carries a greater impact on game performance. It is calculated using the precombined references and determines what information is seen across world cells. This precomputation stops the game engine from performing wasted operations when a player views a building in the distance or one close up but is located in an adjacent world cell. It stops wasted rendering of NPCs when they are behind a building or hidden by another object. In other games, this would be similar to what's called the Occlusion Culling. Because of processor load for precombining references, this data cannot be calculated at runtime and had to be precalculated by developers before the game was shipped (and thus the terms
precomputed visibiity or
Like precombined references, replacing or updating the previs is not really a bad thing. If a precombined reference is updated for mods that add new settlements, for example, previs has to be recalculated as the original precombined references are no longer valid. This is so the game can determine what is culled from the the player's view so that the game's performance does not suffer and waste operations. Furthermore, Bethesda included updated previs for Far Harbor and Vault-tec DLCs.
The optimization system is designed to turn off if it detects an invalid precombined reference. This could be in the form of a mod with a wild (accidental) edit on a reference in a cell adjacent to where your character is standing, or it could be a purposeful edit on a mod that adds a new building or settlement, disables shrubbery, or allows extended scrapping functionality.
It turns off because any changes to a mesh that has been precombined into a new one would be invalid anyway, and the previs cannot be used if the precombined reference is invalid. You could end up with a whole lot of really big meshes that are supposed to be doing something when they aren't. So not only would you have a lot of wasted space, you have wasted operations going on since there would be no pre-culling of visuals and the game would be reading every individual object that was supposed to be precombined.
New 3D objects that are added but do not replace or edit vanilla references are treated as dynamic, and do not affect vanilla precombines unless previs has been updated or if a reference in a precombine has been moved or touched in the Creation Kit. The trade-off is that visibility isn't calculated as well as it could be – it isn't precomputed beforehand – and performance could suffer if playing with mods that increase processor load.
Types of Mods That Turn Off Optimization
- Mods that replace trees, buildings, other static objects with Havok® Physics’ collision
- Mods that replace references but do not take into consideration the DLCs
- Mods that alter landscape terrain and height replacements
- Mods that contain ‘dirty’ cell edits
- Mods that contain ‘wild’ cell edits
- Mods that promote performance and enhancement by deleting cell references
- Mods that promote performance by removing pre-culling
- Mods from a new modder or porter that do not know that you cannot delete references in BGS games without detrimental effects
- Mods that extend the scrapping functionality of the settlement system
- Mods that replace textures on buildings, trees, roads, etc.
If these types of mods have not rebuilt the optimization system, then they should be considered dangerous and not downloaded. The end-user does not have to say anything to the modder or porter. Simply do not download.
Keep in mind that modders do not set out to purposely hurt anyone's game. Prior to the Creation Club updates, it was very easy in the Creation Kit to accidentally edit a record and not realize it had been done so (this is what is referred to as 'wild' edits). There was very little information prior about how layers work or that they exist for Fallout 4 to be able to freeze references without moving or accidentally editing them. Also, many mod authors do not add the DLC as masters and either may not have the DLC to do so or do not realize that they should do so if adding world edits to the affected areas.
Types of Mods that Break but Replace Precombines/Previs
- Mods that add to — but do not replace, ‘set initially disabled’, delete or undelete
- Mods that replace or regenerate precombines and previs (because you cannot have one without the other) for purposes of re-optimizing Downtown Boston (or other areas)
- Mods that add new settlements, new trees, or buildings, but have rebuilt the Optimization System
- Mods like SimpleGreen that have had their trees hand placed
- Mods that alter landscape height but contain precombined meshes and UVD files
Many of the newer mods do rebuild the optimization system, and with that comes another problem: Load Order.
Load Order Management and Challenges
There are significant load order challenges when using certain types of world edit mods, such as scrapping, new settlements, changes to the vanilla landscape or buildings, or even mods that add weapons or armor in containers. Most of these challenges can be overcome by a "less is best" approach when building your framework or simple avoidance of mods we know are problematic.
As stated in Precombination Invalidation, the primary challenge is that only one set of precombined/previs data can exist per load order, and in most cases, this is the vanilla data. The system is designed to turn off to avoid overlaps and potential errors or invalidated data. Overlaps or meshes invalidated by moving or deleting a reference will disable the system in cells in a 3x3 area around the affected area containing overlapping or erroneous data. Any mod that invalidates or overlaps (e.g. breaks) the precombined references will have a serious impact on overall game performance.
Cell Data Considerations
There are two parts to the explorable game world: Interior Cells and Exterior Cells. While interior cells vary in size, they are considered to be only one cell and as such have their own precombined/previs data. They are designed with additional optimization measures if the precombines become invalid and are disabled.
The exterior cells, however, are equidistant squares laid out in a grid across each world space. Fallout 4 has three primary world spaces: Commonwealth, Far Harbor, and Nuka-World. There are many cells outside the borders, but these are not navmeshed and cannot be traversed without mods. Some precombined references affect individual 3D objects across multiple exterior cells and previs is designed to pre-cull across cell borders.
The game world height exceeds that of most skyscrapers found in the Downtown Boston cells, where you will find hives of super mutants or Gunners at the top of buildings but may overlap with an adjacent cell's enemy spawns simply because their information has loaded within view or draw distance of the player.
Settlements are made up of multiple cells of precombined meshes and previs but most settlements' objects are scrappable. Most objects that are part of precombined references do not have navmesh under the objects.
Trees, Landscape, and Shrubbery Considerations
Foliage mods that replace trees instead of adding new ones (or replacing tree textures) to add new green (brown, red, etc) trees and shrubbery across large swaths of cells generally do so by disabling precombines. Texture replacers that do not replace the precombined/previs data for trees that have been set up correctly will not turn the Commonwealth into a forest. Replacements with regenerated precombines and previsibility will have extremely large file sizes and most are not available on Xbox because the file size exceeds the amount we have for Reserved Space – with no way to reduce the size.
NPC Spawn Considerations
The game loads NPCs into memory in a 5x5 cell area around the player. The game does not keep track of NPCs outside this unless game-breaking initialization settings are used. NPCs 3D renders only when the player sees them or when previs is disabled, but the game will track their movements and interactions within this cell area. It's why you can hear the battle between Automatron robots or why you can hear the battle at Cambridge Police Station before you get there.
When previs is disabled, mods that add high-resolution textures or complex meshes to NPC spawns will significantly increase system strain because the spawns with those things are no longer pre-culled.
Scrapping Mods Considerations
Mods created for scrapping generally do so across the board by implementing dangerous debug settings on an initialization file. These settings are not available to PlayStation users so a mod would have to manually implement dirty edits in each cell the mod affected.
Mods that extend scrapping in settlements have far less of a strain on the system but will still cause framerate drops in a 3x3 grid around the affected areas. Furthermore, there are several places on the map where building in one settlement will affect how another settlement functions – due to the game loading 5x5 cells at a time around the character.
As of this writing, and to my knowledge, there are only one PC, one PlayStation mod, and two Xbox mods that use different techniques in order to keep the optimization system in place. The PC and PlayStation mods have been ported to Xbox by the original mod authors.
Processor and Framerate Considerations
Framerate controls how animations work, how objects with physics interact with the world, how the scripts work, etc. It isn't just about visual fidelity when it comes to playing Fallout 4. Dips in framerate can cause anything from animations to break to quests to lag and up to outright crashes.
When precombines are disabled across the map and therefore previs, mods that take up spare processor load capacity (like Chameleon effects, Legendary effects, weather, NPCs, other effects, etc.) could increase the load to upwards of 130% rather than the peak of 80-90%. This increase in processor load can lead to crashes that seem totally random. (They're not. The game is telling you it's got issues.) These random crashes are sometimes blamed on other mods that have nothing to do with rendering but they are the straw that has broken the camel's back because the processor is overloaded.
Deleted and "Dirty" Reference Considerations
While not rebuilding the optimization system when moving large amounts of the game world is considered dangerous, mods that contain deleted references are considered too dangerous for use and should be avoided. However, if the description of a mod says ‘deleted’, it does not necessarily mean they are actually deleted. There is a method of setting the reference to 'initially disabled' so the game never renders it. This method disables the precombines and not regenerating them may cause as much loss of performance as if the object were never touched.
There are new modders and porters that have not yet learned that it is a best-modding practice to clean mods and remove any deletions manually. (Even though cleaning mods has been considered a best-modding practice since The Elder Scroll V: Oblivion, there are many contradictory tutorials and sources still available).
There is no reason at all to have dirty edits in a mod, but xEdit will not catch ‘wild’ edits so manual cleaning is required after every modding session. Auto Quick Clean will not rebuild the precombines, so the mods that have deleted cell references and those that hide but don't rebuild the precombines for large areas should be avoided altogether.
File Size Considerations
Since precombined references and previs are part of the Optimization System, mods that replace the data instead of not including it will obviously be better overall for game performance, but precombined meshes are very large. A mod with a large number of cell edits could have anywhere from 150 MB to 8 GB of space used depending on what is replaced and how much – such as mods that turn the Commonwealth into a forest. The tools available to mod authors do not have a way to reduce the file size of the precombined meshes.
Texture Replacer Considerations
There are several different ways to change textures on world edits. Unfortunately, one of those ways disables the precombines using a material swap on the reference itself. This is mostly seen on PlayStation because there is no way to change the texture with an external asset. On Xbox there is no way for a player to tell which method a mod uses.
Textures replacers on buildings that are described as 'optimized' should be treated with caution. Just because they have a smaller resolution does not mean they don't have disabled the precombines. If those tiny textures were implemented via material swap, they will do more damage to performance than simply keeping vanilla textures.
DLC and Creation Club Considerations
Each of the DLC add new precombines and previs to the vanilla world; however, none of the Creation Club Content DLCs touch it, and there are several cells that overlap with cells edited by Creation Club. Furthermore, not all mod authors have access to the DLC or the Creation Club and so not all mods that add new things to areas take into consideration the DLCs.
If you have all of the DLC, it is recommended to only use world edit mods that also have all the DLC to avoid unintentionally turning off the optimization system in DLC-affected cells.
Console players can see if my mod, Gunner Vs Minutemen Previs Timestamp Patch, will work for your load order. It may or may not. I created it after realizing that Gunners vs Minutemen edited a couple of cells updated by the Vault-Tec DLC.
Please read the documentation on the mod page and determine if it is right for you. If you have any questions, please join us on the Parent Server.
Considerations When Building Your Framework
- Use mods that add. Using mods that add new but do not replace old data helps mitigate any potential performance issues arising from a disabled Optimization System.
- Regenerate and recalculate. PC players are able to fully customize their load order by regenerating and recalculating the optimization system using the Creation Kit. Generating takes a while depending on the number of meshes generated and previs calculations and the processing power of your PC.
- Use Clean Mods. Mods that touch references by accidentally moving or removing references without removing the accidental edit are detrimental to game performance if those references are within precombines. Deleted references of any kind are game-breaking bugs in Fallout 4 and should be avoided.
- Avoid land height adjustments. Mods that make changes to the land height appear to turn off the Optimization System by turning off precombination. Avoiding land height adjustments helps mitigate performance issues on Xbox as there is no way to tell if the mod has rebuilt the optimization system.
- Avoid debug code. Avoiding mods that use two initialization file settings
bPreCulledObjectsEnabled=0. These settings are for debugging only and were used by the developers during development to completely turn off the Optimization System during testing. The use of these settings on Xbox causes game breakage because there is not enough processing power to render the entirety of 5x5 cells around the player.
- Be leery of new containers. Weapon and armor mods that are poorly implemented may just stick a container of their stuff into the world without consideration of the game environment or optimization system.
- Avoid scrapping. There are only two scrapping mods available on Xbox that do not hamper performance so much as to break a game. It is otherwise better for overall performance to just build as the developers intended within the limitations of the settlement system.
- Take DLC into consideration. Plan your load order around your chosen DLCs.
- When in doubt, ask. Read all documentation for mods, ported or otherwise. Always follow links to the original mod pages, and be polite when enquiring. Most, if not all, FO4 veterans are fed up with precombined references and being asked about them. If you cannot find the answer, the Engineering Corps and I are available at the Parent Server.
Suggested Load Order Placement
When building your framework, the Google sheet template has a section labeled "Scrapping Mods". This section is intended for not only scrap mods but mods that disable or regenerate the optimization system. The placement of mods in this section is not only determined by what's happening in the plugin, but also by what is included in the BA2s. Finagling this section can be rather tedious if using multiple world edits and weapons and armor mods that add items to the world, so a "less is best" approach is recommended to mitigate both frustration and time spent planning.
By understanding what precombined references and previs are and what to take into consideration when using mods that affect them, you can have a smoother planning process while building your Load Order Framework. If you have any questions, feel free to ask.
Precombined References - Creation Kit Wiki