Jump to content

xLODGen Terrain Settings Compare


z929669

Recommended Posts

The following was preliminary testing. Read through this for general background about our testing and findings. The end result will always be what we recommend in our latest mod-build guide. As of last update to this post, this is the 2.0.0 WIP settings

 

 


 

I am testing various xLODGen settings for "Terrain". I compare the same two areas (snow/no snow). So this is not comprehensive, but gives people some ideas of settings results (on my system) with STEP 0.3.0b. It is a relative compare of different terrain LOD results, all else remaining equal.

 

skyrimprefs.ini LOD settings:

[LOD]
fLODFadeOutMultActors=15.0
fLODFadeOutMultItems=10.0
fLODFadeOutMultObjects=30.0
fLODFadeOutMultSkyCell=1.0000

[TerrainManager]
bShowLODInEditor=1
fBlockLevel0Distance=50000
fBlockLevel1Distance=72500
fBlockMaximumDistance=94000
fSplitDistanceMult=4.000
fTreeLoadDistance=72500

 
Settings Rationale
Based on my review of sheson's xLODGen thread and documentation, it looks like we should be using best quality and largest textures at LOD4, baking normals for best result (only if normals size ≥ 512 at a given level). Why? Because, in RL, resolution of our environment increases as it gets closer. Also, sheson recommends not tweaking brightness/contrast/gamma without good reason: he suggests lightening/darkening the noise map instead. I have confirmed that changing gamma between 0.97 and 1.10 has no apparent impact in game (data not shown). Lastly, raise steepness should be a good add for LOD8/16/32, since it increases bump effects for mips (probably not necessary at LOD4, due to higher quality textures, and closeness of these textures). I did compare using/not using raise steepness, and I didn't find any really noticeable difference (Lo setting does not include at LOD32, but all others do), so I am including it simply because it sounds rignt "just in case". Compression type does have a significant impact on quality, even for diffuse. BC7 is observably superior to DXT1, particularly with respect to shore-line jaggies around water.
 
Compare order: Optimal settings (my system, my opinion) > lo settings > hi settings > ultra settings. Links to the settings are also below.
 

Spoiler

 


9PQxAe7I_o.png sm4EkDOs_o.png CgQDtniB_o.png 16b9AeoZ_o.png eimVVlmY_o.png cIFYUgd5_o.png 19vyMYKI_o.png pURt7QDb_o.png

 

 

 


My system is agnostic of these settings. I take no detectable performance hit either way, but I expect that typical PCs will see some difference of more/less significance (system specs in sig).

Optimal Settings - LOD data ~ 5 GB, gen time ~ 45 min
Lo Settings - LOD data ~ 2.5 GB, gen time ~ 25 min
Hi Settings - LOD data ~ 9.5 GB, gen time ~ 45 min
Ultra Settings - LOD data ~ 33.5 GB, gen time ~ 45 min
 
It would be great if someone with a PC closer to that recommend for STEP and also running STEP would test xLODGen and let us know about performance impact and time to generate.
 
UPDATE:
After getting some feedback from sheson:

  • Added Solitude (looking South from near the main gate)
  • Increased quality on Lo settings to '10' for LOD16 and LOD32
    sheson said:

    "optimize unseen of 550 needs a quality setting

  • Examined VRAM usage in all scenarios and include a compare of with/wo mipmaps in the 'optimal' settings (apparently, it's not clear if mipmaps are used at all by LOD. sheson confirms that diffuse does not use them, but normals might)

Updated Lo Settings (else they are same as linked previously)
 
Compare order: Lo > Hi > Ultra > Optimal > Optimal (without mips)

 

Spoiler

 


Pi5UdsPD_o.png efTi5ZLJ_o.png L0OkCess_o.png YSJ7gpQ2_o.png 3Mf4Y00C_o.png
LvLlhvv0_o.png a7hEDlFq_o.png iX9vKppy_o.png snZ7BgyH_o.png wRcxyAX7_o.png
ESJBT4kA_o.png nleq08e9_o.png PKGLkEJq_o.png hguV3fnj_o.png VOC9jieN_o.png
 

 

 

 


Optimal Setings (no mips)
 
Findings:

  • FPS stats are largely unaffected by terrain LOD quality on my PC.
  • VRAM usage was consistently lower for Lo settings relative to all others and no-mip-Optimal settings (versus Optimnal WITH mips). Not a huge diff, but lower well beyond the +/- 200 MB variation in reported VRAM usage. Optimal (no mips) was comparable to Lo in terms of performance but noticeably better in terms of quality.
  • VRAM usage stats are not entirely reliable, because they varied by +/- 200 GB on my PC on any given save-game load once stabilized. This is consistent with how VRAM (and RAM) behave. Algorithms are being employed at any given time in any given system that govern use of RAM. It depends on what the GPU is 'thinking' at the time a save game is loaded: are you loading from a fresh game boot via MO? Did you recently reboot your PC? Are you loading one save game after another? .. it is inconsistent, but not wildly so. My findings are that VRAM usage is a bit less with Lo settings and by NOT enabling mipmaps/raise steepness. Based on the screen compares and VRAM usage, there is no reason to enable mipmaps or "Raise Steepness" on my system.

Simple Summary (for my PC)
Use Optimal Settings (no mips) or some proportionate deviation from that: LOD data ~ 4.2 GB, gen time ~ 36 min
This takes a bit less time to generate LOD, probably decreases VRAM usage to a marginal extent, and results in quality that is all but indistinguishable from Ultra settings. DXT1 compression does not appear to save much besides disk space and costs in quality, so use it on diffuse maps ONLY if disk space is a major issue.

Link to comment
Share on other sites

  • 2 weeks later...
  • Replies 82
  • Created
  • Last Reply

Top Posters In This Topic

I've done some testing using the new LOD settings in the Guide and a couple sets of altered settings. First the baseline was taken after Guide installation but before xLODGen was ran. This means Cathedral Landscapes is providing all landscape LOD besides the noise texture. HD Terrain LOD Mesh's light noise texture was used to lighten the LOD in all other compares. After baseline, I followed with three additional runs with xLODGEN.

INI Settings

[LOD]
fLODFadeOutMultActors=20.0
fLODFadeOutMultItems=15
fLODFadeOutMultObjects=25.0
fLODFadeOutMultSkyCell=1

[TerrainManager]
bShowLODInEditor=1
fBlockLevel0Distance=46443
fBlockLevel1Distance=69665
fBlockMaximumDistance=92887
fSplitDistanceMult=1.089
fTreeLoadDistance=46443

Custom Settings
The custom settings were designed to lower file size without affecting quality much. The size and quality slowly lowers the further out the LOD goes. This helps to hide some of the tiling in the mid to long ranges, as can be seen in the compares below.
x-LODGen-Custom04.pngx-LODGen-Custom08.pngx-LODGen-Custom16.pngx-LODGen-Custom32.png


Visual Compares

  • Image 1: STEP (Cathedral Landscape's LOD)
  • Image 2: STEP's current LOD settings
  • Image 3: Same as Image 2, but with Quality=10 for all levels
  • Image 4: Custom LOD settings (see above)
  • Image 5: Same as Image 4, however, HD LOD is not used and Brightness=8 for all levels during generation
  • Image 6: Same as Image 5, but will DY's posted Terrain Manager settings (see DY's post below)

 

Spoiler

 

Reach
STEP-01.pngSTEP-01-LODQ0.pngSTEP-01-LODQ10.pngSTEP-01-LODQcustom.pngSTEP-01-LODQCustom-B8.pngSTEP-01-LODQCustom-B8-M.png

Marsh
STEP-02.pngSTEP-02-LODQ0.pngSTEP-02-LODQ10.pngSTEP-02-LODQcustom.pngSTEP-02-LODQCustom-B8.pngSTEP-02-LODQCustom-B8-M.png

Snow
STEP-03.pngSTEP-03-LODQ0.pngSTEP-03-LODQ10.pngSTEP-03-LODQcustom.pngSTEP-03-LODQCustom-B8.pngSTEP-03-LODQCustom-B8-M.png

Volcanic Tundra
STEP-04.pngSTEP-04-LODQ0.pngSTEP-04-LODQ10.pngSTEP-04-LODQcustom.pngSTEP-04-LODQCustom-B8.pngSTEP-04-LODQCustom-B8-M.png

Rift
STEP-05.pngSTEP-05-LODQ0.pngSTEP-05-LODQ10.pngSTEP-05-LODQcustom.pngSTEP-05-LODQCustom-B8.pngSTEP-05-LODQCustom-B8-M.png

Tundra
STEP-06.pngSTEP-06-LODQ0.pngSTEP-06-LODQ10.pngSTEP-06-LODQcustom.pngSTEP-06-LODQCustom-B8.pngSTEP-06-LODQCustom-B8-M.png
 
Map
STEP-Map01.pngSTEP-Map01-LODQ0.pngSTEP-Map01-LODQ10.png


 

 

Performance Data

Collected using Skyrim Performance Monitor 64.

Image 1

RAM: 2203 MB
VRAM: 3009 MB
Disk IO: 34 MB/s
CPU: 17%
GPU: 35%
FPS: 58

Image 2

Gen Time: 70:22 min/sec
Size: 4.19 GB
RAM: 2237
VRAM: 3306
Disk IO: 53
CPU: 19%
GPU: 33%
FPS: 58

Image 3

Gen Time: 62:49
Size: 3.09
RAM: 2193
VRAM: 3025
Disk IO: 53
CPU: 17%
GPU: 29%
FPS: 58

Image 4&5

Gen Time: 39:41
Size: 2.94
RAM: 2266
VRAM: 3126
Disk IO: 58 (artificially inflated by other application I accidentally left running)
CPU: 18%
GPU: 31%
FPS: 58

Image 6

Gen Time: 39:22
Size: 2.94
RAM: 2385
VRAM: 3662
Disk IO: 47
CPU: 18%
GPU: 35%
FPS: 58

Review
Visually, I prefer the custom settings. As I mentioned, they gradually lower in quality and size. This both helps to hide some of the tiling seen in some compares while also mimicking real life where the terrain gradually loses detail the further away you look. However as seen in the compares, the shoreline and general terrain mesh shape is still preserved from Quality 0. These setting also took half the time to run and have a smaller imprint vs current settings.

The main difference with the larger INI settings is the distant objects are visible (and/or a bit more clear). Most noticeable the trees. Though my average FPS stayed at max, I did notice FPS dipping more with these settings.

Link to comment
Share on other sites

Any such comparisons should probably be made with the TerrainManager INI settings in mind, especially if we ever add JohnnyWang's Z Fighting Patch, as it requires higher LOD distances to function properly. Currently, BethINI by default sets these really low at the higher LOD distances to minimize the amount of Z-fighting seen, unless the Z Fighting Patch plugin is present.

 

SkyrimPrefs.ini

[TerrainManager]
fBlockLevel0Distance=95000
fBlockLevel1Distance=330000
fBlockMaximumDistance=350000
fSplitDistanceMult=4

In the shots above by Tech, this will mostly affect the Tundra and Map. As a comparison, here is current STEP (this is with 3D trees option) with the INI settings above (with the addition of the Z Fight Patch):

2020-08-12-00-39.png

Link to comment
Share on other sites

Any such comparisons should probably be made with the TerrainManager INI settings in mind, especially if we ever add JohnnyWang's Z Fighting Patch, as it requires higher LOD distances to function properly. Currently, BethINI by default sets these really low at the higher LOD distances to minimize the amount of Z-fighting seen, unless the Z Fighting Patch plugin is present.

 

SkyrimPrefs.ini

[TerrainManager]
fBlockLevel0Distance=95000
fBlockLevel1Distance=330000
fBlockMaximumDistance=350000
fSplitDistanceMult=4

Are any of these setting going to affect the actual visuals beyond simple ranges? For example are they are to affect one the textures look when generated? ...or do they just set where the LOD levels begin/end?

 

Edit:

I'm currently not considering the Z-Fighting Patch. It's not polished enough to use in the Guide yet. Reports are still rolling in of things being blocked and clipped.

Link to comment
Share on other sites

I'm not entirely sure, Tech, TBH. Since they set level 4, level 8, and level 16 lod visible distances, I believe that increasing the distances push the level 8 and level 16 meshes/textures further away from the viewing area. Also, fSplitDistanceMult, the only control for the terrain LOD that I am aware of, definitely seems to control how far away the next LOD terrain texture/mesh is displayed. While this seems to merely control these by ranges, as you say, such dramatic increases can have a much more meaningful impact on performance, and if the largest/performance-hungry textures/meshes are loaded closer, you need to consider the generation size if it is more important to balance visuals/performance, especially for the rigs, like mine, on the bottom of the system requirements.

 

I understand that the Z-fighting patch is still not polished enough yet for STEP, but I am expecting in the future it will be.

Link to comment
Share on other sites

@tech

 

I'm not totally clear on your settings above. Is this correct?

 

  1. STEP - no xLOGGen files; CL LOD included; HD Terrain light noise map included (terrain in the screens seems very light, and the CL noise texture makes terrain LOD much darker that what I'm seeing in your screens)
  2. LOD-Quality=0 - xLODGen settings as indicated in STEP guide now; HD Terrain light noise map included (looks like CL noise map or no HDT noise map though, because it is darker than STEP)
  3. LOD-Quality=10 - xLODGen settings as indicated in STEP guide now but with quality = 10 at all levels; HD Terrain light noise map included (looks like CL noise or no HDT noise map though, because it is darker than STEP)
  4. LOD-Custom - xLODGen settings as indicated in screens posted; HD Terrain light noise map included (looks like CL noise or no HDT noise map though, because it is darker than STEP) NOTE: your LOD32 is 512, which is not ≤ LOD16, which is 256 ... you implied differently in your post.

Just asking because it's easy to mess up the settings and active mods between runs, since there is so much to keep track of. And if there is uncertainty, then it's hard to make determinations.

 

PS: Also, for "STEP" compare, if using CL LOD and no xLODGen LOD, are you using TexGen+DynDOLOD? Just wondering if those could affect the terrain LOD in any way either directly or indirectly. I assume TexGen+DynDOLOD outputs are same in all compares but not sure if it would even make a difference. Also, we should probably be posting our [TerrainManager] INI settings for reference ad DY mentions. I will add that to my post and those going forward.

Link to comment
Share on other sites

While this seems to merely control these by ranges, as you say, such dramatic increases can have a much more meaningful impact on performance, and if the largest/performance-hungry textures/meshes are loaded closer, you need to consider the generation size if it is more important to balance visuals/performance, especially for the rigs, like mine, on the bottom of the system requirements.

 

I understand that the Z-fighting patch is still not polished enough yet for STEP, but I am expecting in the future it will be.

This is why I explored the custom settings posted. 1024 seemed too much for LOD. Z has a shiny new rig...evident by the nearly maxed out settings he's got going on in the Guide right now. It took him 30 mins to generate...took me 70!  :lol: Longest run I've ever done with xLODGen.  :wacko:

 

 

@tech

 

I'm not totally clear on your settings above. Is this correct?

 

  1. STEP - no xLOGGen files; CL LOD included; HD Terrain light noise map included (terrain in the screens seems very light, and the CL noise texture makes terrain LOD much darker that what I'm seeing in your screens)
  2. LOD-Quality=0 - xLODGen settings as indicated in STEP guide now; HD Terrain light noise map included (looks like CL noise map or no HDT noise map though, because it is darker than STEP)
  3. LOD-Quality=10 - xLODGen settings as indicated in STEP guide now but with quality = 10 at all levels; HD Terrain light noise map included (looks like CL noise or no HDT noise map though, because it is darker than STEP)
  4. LOD-Custom - xLODGen settings as indicated in screens posted; HD Terrain light noise map included (looks like CL noise or no HDT noise map though, because it is darker than STEP) NOTE: your LOD32 is 512, which is not ≤ LOD16, which is 256 ... you implied differently in your post.

Just asking because it's easy to mess up the settings and active mods between runs, since there is so much to keep track of. And if there is uncertainty, then it's hard to make determinations.

 

PS: Also, for "STEP" compare, if using CL LOD and no xLODGen LOD, are you using TexGen+DynDOLOD? Just wondering if those could affect the terrain LOD in any way either directly or indirectly. I assume TexGen+DynDOLOD outputs are same in all compares but not sure if it would even make a difference. Also, we should probably be posting our [TerrainManager] INI settings for reference ad DY mentions. I will add that to my post and those going forward.

  1. STEP is just the modlist without LOD. Cathedral Landscape provides LOD and noise, meaning that how it would look like without running xLODGen...and how CL authors intended it to look.
  2. The settings you currently have on the Guide + HD Terrain LOD (light noise texture only)
  3. The settings you currently have on the Guide, but at quality 10 instead of 0 + HD Terrain LOD (light noise texture only)
  4. Custom settings posted + HD Terrain LOD (light noise texture only).
    1. LOD32 is the map and I don't really treat it as normal LOD that is constantly being looked at. Thus I handle it differently, which is why it's closer to LOD8 settings...so you get bit better clarity.

As I already mention on the Discord message, HD Terrain LOD (light noise texture) still doesn't match CL, which is why it's darker. The only fix for this is using the brightness setting in xLODGen or creating our own texture. Without HD Terrain LOD's noise texture, the terrain is very, very dark. Therefore, you currently are having users of the Guide generating very, very dark LOD. Far darker than the previous settings I had with a brightness set to 8.  :ermm:

 

None of the compares had TexGen nor DynDOLOD to keep the compares and data consistent. However, I'll say again... Dynamic Distant Objects LOD (DynDOLOD) has nothing to do with terrain. It handles objects only...statics and some moveable statics. Doesn't touch terrain.

 

From TexGen Documentation: "If a texture replacer is used, the vanilla LOD textures for object LOD may not match the looks very well. With TexGen.exe most but not all object LOD source textures can be generated from the full textures in the current load order." It handles texture changes to objects for LOD generation...statics, but not pre-built LOD statics such as mountains, glaicers, towns, etc. ​...so not used for terrain, either.

 

My Terrain Manger settings are whatever BethINI puts out by default for High. I can redo all my shots with higher settings, if need be, since I kept the generated data from each run.

Link to comment
Share on other sites

  • STEP is just the modlist without LOD. Cathedral Landscape provides LOD and noise, meaning that how it would look like without running xLODGen...and how CL authors intended it to look.
  • The settings you currently have on the Guide + HD Terrain LOD (light noise texture only)
  • The settings you currently have on the Guide, but at quality 10 instead of 0 + HD Terrain LOD (light noise texture only)
  • Custom settings posted + HD Terrain LOD (light noise texture only).
LOD32 is the map and I don't really treat it as normal LOD that is constantly being looked at. Thus I handle it differently, which is why it's closer to LOD8 settings...so you get bit better clarity.

 

I believe that sheson mentioned that while LOD32 is the map, it also is the distant LOD in game, so I was just wondering why you went higher res here. I think he has also mentioned that baking normals is mostly beneficial if res is ≥ 512, but I forget the specific context ... regardless, I think 512 should be the minimum recommended with quality

 

Anyway, I will generate same compares with same settings on my machine.

Link to comment
Share on other sites

Any such comparisons should probably be made with the TerrainManager INI settings in mind, especially if we ever add JohnnyWang's Z Fighting Patch, as it requires higher LOD distances to function properly. Currently, BethINI by default sets these really low at the higher LOD distances to minimize the amount of Z-fighting seen, unless the Z Fighting Patch plugin is present.

 

SkyrimPrefs.ini

[TerrainManager]
fBlockLevel0Distance=95000
fBlockLevel1Distance=330000
fBlockMaximumDistance=350000
fSplitDistanceMult=4

 

I'm using BethINI presets for ultra, so it seems appropriate unless you suggest something different for 'best' LOD compares?

 

PS: BethINI LOD8 (fBlockLevel1Distance) description references "level 4" description rather than "level 8" ... very minor but FYI

Link to comment
Share on other sites

I believe that sheson mentioned that while LOD32 is the map, it also is the distant LOD in game, so I was just wondering why you went higher res here. I think he has also mentioned that baking normals is mostly beneficial if res is ≥ 512, but I forget the specific context ... regardless, I think 512 should be the minimum recommended with quality

 

Anyway, I will generate same compares with same settings on my machine.

Actual visual quality/diff is what I'm looking at (performance data was just there to have it) and from my testing there is no reason for the higher settings as you can see in my compares. The difference between current Guide settings and my custom run is hardly noticeable and even better in some cases because it's blending out some of the tiling.

 

As for the baked normals, feel free to test with and without them. You can generate a lot faster than I can.  :;):

 

EDIT:

This is the only image I could find of LOD points. I thought 32 was pretty much only map, else so far out you can't really ever see it (maybe from the throat of the world):

Red = LOD4

Green = LOD8

Blue = LOD16

Lodlevels.png

 

Link to comment
Share on other sites

If this is a terrain comparison only, than only fSplitDistanceMult is relevant INI wise, as the other settings are object LOD.

Good to know! We are, indeed, just trying to nail down xLODGen settings.

 

EDIT:

I added an additional two sets to my compares. First new one is with my custom setting but using the brightness setting in xLODGen rather than a noise texture. The now final compare is with Dy's posted INI settings and Z's larger tree distance.

Link to comment
Share on other sites

@Tech

I will get started today if you get back to me about the Majestic Mountains LOD. There are separate files for DynDOLOD and for xLODGen, and the guide only mentions one without saying which. I think we should be using BOTH and activating one for xLODGen and the other for DynDOLOD and then deactivating both when finished with LOD gen.

 

EDIT: Looks like both archives have all of the same textures, but the xLODGen textures are higher res for most or same res. The DynDOLOD archive also includes meshes. It seems like they could be combined by organizing xLODGen BAIN structure like DynDOLOD's and copying xLODGen --> DynDOLOD with xLODGen overwriting DynDOLOD and keeping DynDOLOD only. I'm not clear why the DynDOLOD textures are lower res or shy the author has included two basically redundant installers.

 

It may take a while to generate the LOD variants and assemble all of the data before I can post, so probably tomorrow or this weekend.

 

If this is a terrain comparison only, than only fSplitDistanceMult is relevant INI wise, as the other settings are object LOD.

@DY

Can you explain the effects of this setting as it is raised or lowered from "4.00" ... I assume decimals are valid, due to the default numeric format. Also, our INI Settings description of this is

 

Also, the screen for that doesn't make sense for the highest value shown (1.5) ... LOD detail progressively increases at higher LOD levels as this value increases, but the highest value is showing a change at like LOD8-ish.

 

Lastly, the description of this setting does not explain exactly what is being multiplied (fBlockLevels directly or the diff between fBlockLevels? Does it effectively increase fBlockLevels for LOD4/8/16 or does it override these values?)

Link to comment
Share on other sites

fSplitDistanceMult has no relation to the object LOD block distances, as it affects landscape (aka terrain) LOD, not object LOD. Increasing it seems to push the more detailed LOD to farther distances, which is why increasing it has such a positive effect at reducing Z-fighting, as it seems that the terrain LOD is where the Z-fighting issues mostly lie. The lower the polygon quality of the meshes, the more z-fighting.

 

The reason why BethINI has always applied such low object LOD distances is because the lower the object LOD quality, the less polygons for the terrain LOD to z-fight with the object LOD. The z-fighting patch idea is to make so much object LOD that it covers the distant terrain LOD, so you cannot see it z-fight.

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Guidelines, Privacy Policy, and Terms of Use.