z929669 2 Report post Posted August 2, 2020 The following was preliminary testing. Jump to the most current testing results in this thread. 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 RationaleBased 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=Compares] 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 minLo Settings - LOD data ~ 2.5 GB, gen time ~ 25 minHi Settings - LOD data ~ 9.5 GB, gen time ~ 45 minUltra 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"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=Compares (no mips)] 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 minThis 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. Share this post Link to post Share on other sites
TechAngel85 15 Report post Posted August 12, 2020 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=46443Custom SettingsThe 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.Visual ComparesImage 1: STEP (Cathedral Landscape's LOD)Image 2: STEP's current LOD settingsImage 3: Same as Image 2, but with Quality=10 for all levelsImage 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 generationImage 6: Same as Image 5, but will DY's posted Terrain Manager settings (see DY's post below)[spoiler=Compares]ReachMarshSnowVolcanic TundraRiftTundra Map Performance DataCollected using Skyrim Performance Monitor 64. Image 1 RAM: 2203 MBVRAM: 3009 MBDisk IO: 34 MB/sCPU: 17%GPU: 35%FPS: 58 Image 2 Gen Time: 70:22 min/secSize: 4.19 GBRAM: 2237VRAM: 3306Disk IO: 53CPU: 19%GPU: 33%FPS: 58 Image 3 Gen Time: 62:49Size: 3.09RAM: 2193VRAM: 3025Disk IO: 53CPU: 17%GPU: 29%FPS: 58 Image 4&5 Gen Time: 39:41Size: 2.94RAM: 2266VRAM: 3126Disk IO: 58 (artificially inflated by other application I accidentally left running)CPU: 18%GPU: 31%FPS: 58 Image 6 Gen Time: 39:22Size: 2.94RAM: 2385VRAM: 3662Disk IO: 47CPU: 18%GPU: 35%FPS: 58 ReviewVisually, 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. Share this post Link to post Share on other sites
DoubleYou 12 Report post Posted August 12, 2020 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): Share this post Link to post Share on other sites
TechAngel85 15 Report post Posted August 12, 2020 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. Share this post Link to post Share on other sites
DoubleYou 12 Report post Posted August 12, 2020 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. Share this post Link to post Share on other sites
z929669 2 Report post Posted August 12, 2020 @tech I'm not totally clear on your settings above. Is this correct? 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) 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) 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) 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. Share this post Link to post Share on other sites
TechAngel85 15 Report post Posted August 12, 2020 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! Longest run I've ever done with xLODGen. @tech I'm not totally clear on your settings above. Is this correct? 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) 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) 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) 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.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. 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. 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. Share this post Link to post Share on other sites
z929669 2 Report post Posted August 12, 2020 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. Share this post Link to post Share on other sites
z929669 2 Report post Posted August 12, 2020 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 Share this post Link to post Share on other sites
TechAngel85 15 Report post Posted August 12, 2020 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 = LOD4Green = LOD8Blue = LOD16 Share this post Link to post Share on other sites
DoubleYou 12 Report post Posted August 13, 2020 If this is a terrain comparison only, than only fSplitDistanceMult is relevant INI wise, as the other settings are object LOD. Share this post Link to post Share on other sites
TechAngel85 15 Report post Posted August 13, 2020 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. Share this post Link to post Share on other sites
TechAngel85 15 Report post Posted August 13, 2020 I think we have enough information to start narrowing down to a set of settings; once Z or anyone else is able to test the current guide settings vs the custom settings I posted. Share this post Link to post Share on other sites
z929669 2 Report post Posted August 13, 2020 @TechI 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.@DYCan 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?) Share this post Link to post Share on other sites
DoubleYou 12 Report post Posted August 13, 2020 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. Share this post Link to post Share on other sites