Skip to main content
Home
DynDOLOD - Dynamic Distant Objects LOD
Finally I can see my house from here!
Support me on Ko-fi

Large Reference Bugs Workarounds

DynDOLOD Advanced Options Window

DynDOLOD includes experimental workarounds to counter texture flicker caused by large reference bugs directly in the game that so far could not be addressed while generating the LOD patch. Do not use for actual games / keep a backup of the save.

For the Large reference bugs workarounds check box and options to become available on the advanced mode window, the DynDOLOD DLL NG and Scripts must be installed and every plugin containing deleted references needs to be cleaned. See the Prerequisites section of the Generation Instructions for more.

When DynDOLOD is started, a log message will notify if the large reference bugs workarounds are enabled, for example:

Large reference bugs workarounds: enabled (DynDOLOD.DLL: NG, Scripts: NG, Deleted references: no)

In case a deleted reference is found, the debug log will contain a line like this:

[DeletedReferencesChecks] <Debug: Deleted reference Update.esm [REFR:000C8701] (places TreeDeadShrub [TREE:000A731C] in GRUP Cell Temporary Children of FrostflowLighthouseExterior01 [CELL:00008F29] (in Tamriel "Skyrim" [WRLD:0000003C] at 15,21))>

NG means Next Generation and means the DynDOLOD DLL and Scripts work for Skyrim SE/Skyrim AE 1.5.x/1.6.x and Skyrim VR 1.4.15. This is all thanks to everyone involved around CommonLib/CommonLibSSE-NG and SkyrimSE RE.

Requirements

PapyrusUtil can still be installed for other mods. It will not be used as long as papyrus scripts in DynDOLOD Resources are being overwritten by the DynDOLOD DLL papyrus scripts.

Settings

Check the Large reference bugs workarounds checkbox to enable the workarounds.

This will generate DynDOLOD plugins and data files with the version 3.0 instead of version 2.45. Since the large reference bugs workarounds require the use of DynDOLOD DLL NG and Scripts, no data files for PapyrusUtil are generated and it is not possible to switch.

The advanced mode has a new checkbox Downgrade FarGrid references to NearGrid. Since that setting is necessary without the workarounds, the checkbox is disabled and checked by default in case the Large reference bugs workarounds checkbox is not checked.

With the workarounds enabled, it is now possible again to have non large reference show in the FarGrid. Uncheck the box for better visuals as originally intended by the mesh mask rules.

In case Ultra is checked to generate ultra tree LOD, the Large checkbox can be checked to make the full model trees large references - if they are added by ESM flagged plugins. Use the TreeLargeRefSize setting in the ..\DynDOLOD\Edit Scripts\DynDOLOD\DynDOLOD_[GAME MODE].ini to the size threshold, e.g. if smaller trees should be large references, lower the value. Also, references that are overwritten by non ESM flagged plugins, have enable parents or are initially disabled are skipped as well for now.

Testing

Do not use the workarounds for actual save games. DynDOLOD 3 is still in an alpha test and these workarounds are extra experimental.

For testing purposes it is suggested to not do any manual workarounds like flagging plugins as ESM etc. Simply install plugins known to contain overwritten large references, initially disabled large reference etc. and then generate LOD as usual.

Instead of the typical warning messages like overwritten large reference or initially disabled large reference, the log will print a line for each affected cell.

Use the cell coordinates from the log messages to test if obvious texture flicker caused by large reference bugs stops happening and there are no side-effects. After loading the large references in the distance, it can take a brief moment for the texture flicker to stop. It depends on the number of large references in that cell.

Remember, the large reference bugs are not always obvious as the texture flickers depends on the triangles of the full model and LOD model to very closely occupy the same 3D space, which is not always the case.

In case texture flicker still happens, test with the large reference system turned off (uLargeRefLODGridSize=5) to make sure the issue is large reference related.

Check the papyrus log for error messages from the SHESON_DynDOLOD_* scripts in case anything does not work or unforeseen things happen.

To test if trees are large references, open console and toggle LOD off/on with tll. See How LOD works and Large References.

Use the official DynDOLOD support forum to report problems and to provide feedback.

If not sure if something is related to the large references workarounds, compare same load order with LOD generated without the workarounds. Make a backup of the log and debug from the generation with the workarounds enabled in order to be able to provide both sets of logs when reporting to the official DynDOLOD support forum.