sheson Posted April 18, 2022 Author Posted April 18, 2022 26 minutes ago, Jakolanten said: Is there anyway to have specific brightness for tree LODs? For example, I want my Tree Mod A to have 5 brightness but then have Tree Mod B to have 10 brightness? Thanks in advance for the help. No. It also doesn't seem to make sense. TexGen generates all tree LOD billboards textures from the full models and textures with the same direct and ambient settings. If those same full models and textures are used in the game, then they are all affected by the same lightning conditions. Thus all tree LOD billboards should all be matching (or being off for that matter) the same way since they all receive the same lighting conditions in the game as well. If there is a problem with TexGen generating matching billboards for specific full models / textures because of non common shader settings for example, then that needs to be reported and addressed. 1
sheson Posted April 18, 2022 Author Posted April 18, 2022 7 hours ago, DarthVitrial said: Update, seasons LOD generation reliably works just fine as long as I have SeasonsCombineAtlas=0 in the ini. If I set it to 1, those threading errors happen. Do you want the logs from the successful run? Actually, see if this version reports something to the LODGen log. https://mega.nz/file/0NJ3xYqC#umzsHLqWyV1hEqllZT7P_a2GvFy_21T8xeC2RaQNF-g
DarthVitrial Posted April 18, 2022 Posted April 18, 2022 35 minutes ago, sheson said: Actually, see if this version reports something to the LODGen log. https://mega.nz/file/0NJ3xYqC#umzsHLqWyV1hEqllZT7P_a2GvFy_21T8xeC2RaQNF-g Running it again now, but I suspect that the prior dyndolod link you sent me actually fixed it and I just needed to clear out the dyndolod cache (which I'd forgotten to do) because something invalid got cached. I'll let you know how it works when it finishes running.
sheson Posted April 18, 2022 Author Posted April 18, 2022 17 minutes ago, DarthVitrial said: Running it again now, but I suspect that the prior dyndolod link you sent me actually fixed it and I just needed to clear out the dyndolod cache (which I'd forgotten to do) because something invalid got cached. I'll let you know how it works when it finishes running. The cache typically does not need any deleting. It contains the xEdit reference cache files (if crated code demand only) and large reference list. The DynDOLODx64.exe from the post addresses access violation in DynDOLOD while processing base records. It should affect any issues regarding the the combined atlas causing in LODGen.
Gonzeh Posted April 18, 2022 Posted April 18, 2022 (edited) So i've never bothered changing any settings in the tool. I hit Ultra and always let it do it's thing. What would be the impact of changing the LOD options below? So if I changed LOD Level 8 to say Level 1? My billboards look amazing using the Happy Little Trees LOD file anyway but i'm just curious how these settings work, would they change the way you see that little transition between the game swapping to Level 4? Which has LOD 0 assigned? Or is that all just controlled by the distance settings in-game which I currently have setup as 70000, 120000 and 300000. Sorry for so many questions, you guys are the experts and i've learnt loads from asking in here when i'm unsure what the instractions and FAQ mean. Alos, what are the implications of the following message after generation? Warning: Texture resolution 2500x2500 not a power of 2 Texture textures\architecture\whiterun\wrcitywall01.dds Used by meshes\lod\imperial\impextblocks02_lod_0.nif DynDOLOD.esm XJKImpExtBlocks02_DynDOLOD_LOD [STAT:D4012A59] Warning: Texture resolution 2500x2500 not a power of 2 Texture textures\architecture\whiterun\wrcitywall01_n.dds Used by meshes\lod\imperial\impextblocks02_lod_0.nif DynDOLOD.esm XJKImpExtBlocks02_DynDOLOD_LOD [STAT:D4012A59] Edited April 18, 2022 by Gonzeh Apology
DarthVitrial Posted April 18, 2022 Posted April 18, 2022 28 minutes ago, sheson said: The cache typically does not need any deleting. It contains the xEdit reference cache files (if crated code demand only) and large reference list. The DynDOLODx64.exe from the post addresses access violation in DynDOLOD while processing base records. It should affect any issues regarding the the combined atlas causing in LODGen. Yeah, you're right, it failed again.. Logs: https://mega.nz/file/9s12SS7T#f56By4jxr03kS6zBj9RhHmS2qg1vyEIUU-q_HAWCCl0 .net crash (two of them this time, one for each of the failed seasons): Application: LODGenx64.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.AccessViolationException at LODGenerator.Geometry.RemoveDuplicate(Boolean) at LODGenerator.ShapeDesc..ctor(System.String, LODGenerator.NiFile, LODGenerator.NifMain.NiTriBasedGeom, LODGenerator.StaticDesc, Int32, System.Collections.Generic.List`1<System.String>, System.Collections.Generic.List`1<System.String>, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, LODGenerator.LogFile) at LODGenerator.LODApp.TransformShape(LODGenerator.QuadDesc, LODGenerator.StaticDesc, LODGenerator.NiFile, LODGenerator.NifMain.NiTriBasedGeom, LODGenerator.Common.Matrix44, Single, Int32) at LODGenerator.LODApp.IterateNodes(LODGenerator.QuadDesc, LODGenerator.StaticDesc, Int32, LODGenerator.NiFile, LODGenerator.NifMain.NiNode, LODGenerator.Common.Matrix44, Single, Int32 ByRef) at LODGenerator.LODApp.ParseNif(LODGenerator.QuadDesc, LODGenerator.StaticDesc, Int32) at LODGenerator.LODApp+<>c__DisplayClass84_0.<DoLOD>b__0(Int32) at System.Threading.Tasks.Parallel+<>c__DisplayClass17_0`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].<ForWorker>b__1() at System.Threading.Tasks.Task.InnerInvokeWithArg(System.Threading.Tasks.Task) at System.Threading.Tasks.Task+<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(System.Object) at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef) at System.Threading.Tasks.Task.ExecuteEntry(Boolean) at System.Threading.Tasks.ThreadPoolTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task, Boolean) at System.Threading.Tasks.TaskScheduler.TryRunInline(System.Threading.Tasks.Task, Boolean) at System.Threading.Tasks.Task.InternalRunSynchronously(System.Threading.Tasks.TaskScheduler, Boolean) at System.Threading.Tasks.Parallel.ForWorker[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](Int32, Int32, System.Threading.Tasks.ParallelOptions, System.Action`1<Int32>, System.Action`2<Int32,System.Threading.Tasks.ParallelLoopState>, System.Func`4<Int32,System.Threading.Tasks.ParallelLoopState,System.__Canon,System.__Canon>, System.Func`1<System.__Canon>, System.Action`1<System.__Canon>) at System.Threading.Tasks.Parallel.For(Int32, Int32, System.Threading.Tasks.ParallelOptions, System.Action`1<Int32>) at LODGenerator.LODApp.DoLOD(LODGenerator.QuadDesc, Boolean) at LODGenerator.LODApp.<GenerateLOD>b__85_0(LODGenerator.QuadDesc) at System.Threading.Tasks.Parallel+<>c__DisplayClass31_0`2[[LODGenerator.QuadDesc, LODGenx64, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].<ForEachWorker>b__0(Int32) at System.Threading.Tasks.Parallel+<>c__DisplayClass17_0`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].<ForWorker>b__1() at System.Threading.Tasks.Task.InnerInvokeWithArg(System.Threading.Tasks.Task) at System.Threading.Tasks.Task+<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(System.Object) at System.Threading.Tasks.Task.Execute() at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef) at System.Threading.Tasks.Task.ExecuteEntry(Boolean) at System.Threading.ThreadPoolWorkQueue.Dispatch() Application: LODGenx64.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.AccessViolationException at LODGenerator.Geometry.MergeVertexColors(Boolean) at LODGenerator.LODApp.RemoveUnseenFaces(LODGenerator.QuadDesc, LODGenerator.ShapeDesc) at LODGenerator.LODApp.TransformShape(LODGenerator.QuadDesc, LODGenerator.StaticDesc, LODGenerator.NiFile, LODGenerator.NifMain.NiTriBasedGeom, LODGenerator.Common.Matrix44, Single, Int32) at LODGenerator.LODApp.IterateNodes(LODGenerator.QuadDesc, LODGenerator.StaticDesc, Int32, LODGenerator.NiFile, LODGenerator.NifMain.NiNode, LODGenerator.Common.Matrix44, Single, Int32 ByRef) at LODGenerator.LODApp.ParseNif(LODGenerator.QuadDesc, LODGenerator.StaticDesc, Int32) at LODGenerator.LODApp+<>c__DisplayClass84_0.<DoLOD>b__0(Int32) at System.Threading.Tasks.Parallel+<>c__DisplayClass17_0`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].<ForWorker>b__1() at System.Threading.Tasks.Task.InnerInvokeWithArg(System.Threading.Tasks.Task) at System.Threading.Tasks.Task+<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(System.Object) at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef) at System.Threading.Tasks.Task.ExecuteEntry(Boolean) at System.Threading.Tasks.ThreadPoolTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task, Boolean) at System.Threading.Tasks.TaskScheduler.TryRunInline(System.Threading.Tasks.Task, Boolean) at System.Threading.Tasks.Task.InternalRunSynchronously(System.Threading.Tasks.TaskScheduler, Boolean) at System.Threading.Tasks.Parallel.ForWorker[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](Int32, Int32, System.Threading.Tasks.ParallelOptions, System.Action`1<Int32>, System.Action`2<Int32,System.Threading.Tasks.ParallelLoopState>, System.Func`4<Int32,System.Threading.Tasks.ParallelLoopState,System.__Canon,System.__Canon>, System.Func`1<System.__Canon>, System.Action`1<System.__Canon>) at System.Threading.Tasks.Parallel.For(Int32, Int32, System.Threading.Tasks.ParallelOptions, System.Action`1<Int32>) at LODGenerator.LODApp.DoLOD(LODGenerator.QuadDesc, Boolean) at LODGenerator.LODApp.<GenerateLOD>b__85_0(LODGenerator.QuadDesc) at System.Threading.Tasks.Parallel+<>c__DisplayClass31_0`2[[LODGenerator.QuadDesc, LODGenx64, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].<ForEachWorker>b__0(Int32) at System.Threading.Tasks.Parallel+<>c__DisplayClass17_0`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].<ForWorker>b__1() at System.Threading.Tasks.Task.InnerInvokeWithArg(System.Threading.Tasks.Task) at System.Threading.Tasks.Task+<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(System.Object) at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef) at System.Threading.Tasks.Task.ExecuteEntry(Boolean) at System.Threading.Tasks.ThreadPoolTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task, Boolean) at System.Threading.Tasks.TaskScheduler.TryRunInline(System.Threading.Tasks.Task, Boolean) at System.Threading.Tasks.Task.InternalRunSynchronously(System.Threading.Tasks.TaskScheduler, Boolean) at System.Threading.Tasks.Parallel.ForWorker[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](Int32, Int32, System.Threading.Tasks.ParallelOptions, System.Action`1<Int32>, System.Action`2<Int32,System.Threading.Tasks.ParallelLoopState>, System.Func`4<Int32,System.Threading.Tasks.ParallelLoopState,System.__Canon,System.__Canon>, System.Func`1<System.__Canon>, System.Action`1<System.__Canon>) at System.Threading.Tasks.Parallel.ForEachWorker[[LODGenerator.QuadDesc, LODGenx64, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.Collections.Generic.IEnumerable`1<LODGenerator.QuadDesc>, System.Threading.Tasks.ParallelOptions, System.Action`1<LODGenerator.QuadDesc>, System.Action`2<LODGenerator.QuadDesc,System.Threading.Tasks.ParallelLoopState>, System.Action`3<LODGenerator.QuadDesc,System.Threading.Tasks.ParallelLoopState,Int64>, System.Func`4<LODGenerator.QuadDesc,System.Threading.Tasks.ParallelLoopState,System.__Canon,System.__Canon>, System.Func`5<LODGenerator.QuadDesc,System.Threading.Tasks.ParallelLoopState,Int64,System.__Canon,System.__Canon>, System.Func`1<System.__Canon>, System.Action`1<System.__Canon>) at System.Threading.Tasks.Parallel.ForEach[[LODGenerator.QuadDesc, LODGenx64, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null]](System.Collections.Generic.IEnumerable`1<LODGenerator.QuadDesc>, System.Threading.Tasks.ParallelOptions, System.Action`1<LODGenerator.QuadDesc>) at LODGenerator.LODApp.GenerateLOD(System.Collections.Generic.List`1<LODGenerator.StaticDesc>) at LODGeneratorCMD.Program.Main(System.String[]) DynDOLOD_WIN.ini
sheson Posted April 18, 2022 Author Posted April 18, 2022 30 minutes ago, Gonzeh said: So i've never bothered changing any settings in the tool. I hit Ultra and always let it do it's thing. What would be the impact of changing the LOD options below? So if I changed LOD Level 8 to say Level 1? My billboards look amazing using the Happy Little Trees LOD file anyway but i'm just curious how these settings work, would they change the way you see that little transition between the game swapping to Level 4? Which has LOD 0 assigned? Or is that all just controlled by the distance settings in-game which I currently have setup as 70000, 120000 and 300000. Sorry for so many questions, you guys are the experts and i've learnt loads from asking in here when i'm unsure what the instractions and FAQ mean. Read https://dyndolod.info/How-LOD-Works, https://dyndolod.info/Help/Object-LOD, https://dyndolod.info/Help/Advanced-Mode, https://dyndolod.info/Help/Mesh-Mask-Reference-Rules and https://dyndolod.info/Help/Ultra-Tree-LOD The last makes it obvious what will happen: While the LOD is generated, a log file with a detailed report for each tree is created to ..\DynDOLOD\Logs\DynDOLOD_[GAME MODE]_Tree_Report.txt. It will contain an entry for each which types of assets were found and used for the different LOD levels: ... Level0: meshes\dyndolod\lod\trees\treeaspen01passthru_lod.nif using textures... Level1: meshes\dyndolod\lod\trees\treeaspen01passthru_lod.nif using textures... Level2: meshes\dyndolod\lod\trees\treeaspen01passthru_lod.nif using textures... Dynamic: Meshes\landscape\trees\treeaspen01.nif using textures... LOD4: Level0 LOD8: Billboard1 using internal LOD16: Billboard1 using internal Typically there is only one set of 3D tree models, so Level1 and Level2 would define the same as Level0. Setting a 3D tree LOD model to a LOD level means that it will show the 3D tree LOD models (if available) instead of Billboards. 18 minutes ago, DarthVitrial said: Yeah, you're right, it failed again.. Logs: https://mega.nz/file/9s12SS7T#f56By4jxr03kS6zBj9RhHmS2qg1vyEIUU-q_HAWCCl0 .net crash (two of them this time, one for each of the failed seasons): Hide contents Application: LODGenx64.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.AccessViolationException at LODGenerator.Geometry.RemoveDuplicate(Boolean) at LODGenerator.ShapeDesc..ctor(System.String, LODGenerator.NiFile, LODGenerator.NifMain.NiTriBasedGeom, LODGenerator.StaticDesc, Int32, System.Collections.Generic.List`1<System.String>, System.Collections.Generic.List`1<System.String>, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, Boolean, LODGenerator.LogFile) at LODGenerator.LODApp.TransformShape(LODGenerator.QuadDesc, LODGenerator.StaticDesc, LODGenerator.NiFile, LODGenerator.NifMain.NiTriBasedGeom, LODGenerator.Common.Matrix44, Single, Int32) at LODGenerator.LODApp.IterateNodes(LODGenerator.QuadDesc, LODGenerator.StaticDesc, Int32, LODGenerator.NiFile, LODGenerator.NifMain.NiNode, LODGenerator.Common.Matrix44, Single, Int32 ByRef) at LODGenerator.LODApp.ParseNif(LODGenerator.QuadDesc, LODGenerator.StaticDesc, Int32) at LODGenerator.LODApp+<>c__DisplayClass84_0.<DoLOD>b__0(Int32) at System.Threading.Tasks.Parallel+<>c__DisplayClass17_0`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].<ForWorker>b__1() at System.Threading.Tasks.Task.InnerInvokeWithArg(System.Threading.Tasks.Task) at System.Threading.Tasks.Task+<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(System.Object) at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef) at System.Threading.Tasks.Task.ExecuteEntry(Boolean) at System.Threading.Tasks.ThreadPoolTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task, Boolean) at System.Threading.Tasks.TaskScheduler.TryRunInline(System.Threading.Tasks.Task, Boolean) at System.Threading.Tasks.Task.InternalRunSynchronously(System.Threading.Tasks.TaskScheduler, Boolean) at System.Threading.Tasks.Parallel.ForWorker[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](Int32, Int32, System.Threading.Tasks.ParallelOptions, System.Action`1<Int32>, System.Action`2<Int32,System.Threading.Tasks.ParallelLoopState>, System.Func`4<Int32,System.Threading.Tasks.ParallelLoopState,System.__Canon,System.__Canon>, System.Func`1<System.__Canon>, System.Action`1<System.__Canon>) at System.Threading.Tasks.Parallel.For(Int32, Int32, System.Threading.Tasks.ParallelOptions, System.Action`1<Int32>) at LODGenerator.LODApp.DoLOD(LODGenerator.QuadDesc, Boolean) at LODGenerator.LODApp.<GenerateLOD>b__85_0(LODGenerator.QuadDesc) at System.Threading.Tasks.Parallel+<>c__DisplayClass31_0`2[[LODGenerator.QuadDesc, LODGenx64, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].<ForEachWorker>b__0(Int32) at System.Threading.Tasks.Parallel+<>c__DisplayClass17_0`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].<ForWorker>b__1() at System.Threading.Tasks.Task.InnerInvokeWithArg(System.Threading.Tasks.Task) at System.Threading.Tasks.Task+<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(System.Object) at System.Threading.Tasks.Task.Execute() at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef) at System.Threading.Tasks.Task.ExecuteEntry(Boolean) at System.Threading.ThreadPoolWorkQueue.Dispatch() Application: LODGenx64.exe Framework Version: v4.0.30319 Description: The process was terminated due to an unhandled exception. Exception Info: System.AccessViolationException at LODGenerator.Geometry.MergeVertexColors(Boolean) at LODGenerator.LODApp.RemoveUnseenFaces(LODGenerator.QuadDesc, LODGenerator.ShapeDesc) at LODGenerator.LODApp.TransformShape(LODGenerator.QuadDesc, LODGenerator.StaticDesc, LODGenerator.NiFile, LODGenerator.NifMain.NiTriBasedGeom, LODGenerator.Common.Matrix44, Single, Int32) at LODGenerator.LODApp.IterateNodes(LODGenerator.QuadDesc, LODGenerator.StaticDesc, Int32, LODGenerator.NiFile, LODGenerator.NifMain.NiNode, LODGenerator.Common.Matrix44, Single, Int32 ByRef) at LODGenerator.LODApp.ParseNif(LODGenerator.QuadDesc, LODGenerator.StaticDesc, Int32) at LODGenerator.LODApp+<>c__DisplayClass84_0.<DoLOD>b__0(Int32) at System.Threading.Tasks.Parallel+<>c__DisplayClass17_0`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].<ForWorker>b__1() at System.Threading.Tasks.Task.InnerInvokeWithArg(System.Threading.Tasks.Task) at System.Threading.Tasks.Task+<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(System.Object) at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef) at System.Threading.Tasks.Task.ExecuteEntry(Boolean) at System.Threading.Tasks.ThreadPoolTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task, Boolean) at System.Threading.Tasks.TaskScheduler.TryRunInline(System.Threading.Tasks.Task, Boolean) at System.Threading.Tasks.Task.InternalRunSynchronously(System.Threading.Tasks.TaskScheduler, Boolean) at System.Threading.Tasks.Parallel.ForWorker[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](Int32, Int32, System.Threading.Tasks.ParallelOptions, System.Action`1<Int32>, System.Action`2<Int32,System.Threading.Tasks.ParallelLoopState>, System.Func`4<Int32,System.Threading.Tasks.ParallelLoopState,System.__Canon,System.__Canon>, System.Func`1<System.__Canon>, System.Action`1<System.__Canon>) at System.Threading.Tasks.Parallel.For(Int32, Int32, System.Threading.Tasks.ParallelOptions, System.Action`1<Int32>) at LODGenerator.LODApp.DoLOD(LODGenerator.QuadDesc, Boolean) at LODGenerator.LODApp.<GenerateLOD>b__85_0(LODGenerator.QuadDesc) at System.Threading.Tasks.Parallel+<>c__DisplayClass31_0`2[[LODGenerator.QuadDesc, LODGenx64, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].<ForEachWorker>b__0(Int32) at System.Threading.Tasks.Parallel+<>c__DisplayClass17_0`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].<ForWorker>b__1() at System.Threading.Tasks.Task.InnerInvokeWithArg(System.Threading.Tasks.Task) at System.Threading.Tasks.Task+<>c__DisplayClass176_0.<ExecuteSelfReplicating>b__0(System.Object) at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean) at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef) at System.Threading.Tasks.Task.ExecuteEntry(Boolean) at System.Threading.Tasks.ThreadPoolTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task, Boolean) at System.Threading.Tasks.TaskScheduler.TryRunInline(System.Threading.Tasks.Task, Boolean) at System.Threading.Tasks.Task.InternalRunSynchronously(System.Threading.Tasks.TaskScheduler, Boolean) at System.Threading.Tasks.Parallel.ForWorker[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](Int32, Int32, System.Threading.Tasks.ParallelOptions, System.Action`1<Int32>, System.Action`2<Int32,System.Threading.Tasks.ParallelLoopState>, System.Func`4<Int32,System.Threading.Tasks.ParallelLoopState,System.__Canon,System.__Canon>, System.Func`1<System.__Canon>, System.Action`1<System.__Canon>) at System.Threading.Tasks.Parallel.ForEachWorker[[LODGenerator.QuadDesc, LODGenx64, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]](System.Collections.Generic.IEnumerable`1<LODGenerator.QuadDesc>, System.Threading.Tasks.ParallelOptions, System.Action`1<LODGenerator.QuadDesc>, System.Action`2<LODGenerator.QuadDesc,System.Threading.Tasks.ParallelLoopState>, System.Action`3<LODGenerator.QuadDesc,System.Threading.Tasks.ParallelLoopState,Int64>, System.Func`4<LODGenerator.QuadDesc,System.Threading.Tasks.ParallelLoopState,System.__Canon,System.__Canon>, System.Func`5<LODGenerator.QuadDesc,System.Threading.Tasks.ParallelLoopState,Int64,System.__Canon,System.__Canon>, System.Func`1<System.__Canon>, System.Action`1<System.__Canon>) at System.Threading.Tasks.Parallel.ForEach[[LODGenerator.QuadDesc, LODGenx64, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null]](System.Collections.Generic.IEnumerable`1<LODGenerator.QuadDesc>, System.Threading.Tasks.ParallelOptions, System.Action`1<LODGenerator.QuadDesc>) at LODGenerator.LODApp.GenerateLOD(System.Collections.Generic.List`1<LODGenerator.StaticDesc>) at LODGeneratorCMD.Program.Main(System.String[]) DynDOLOD_WIN.ini 4.88 kB · 0 downloads Are you sure this is with the LODGenx64.exe and pdb from this post https://stepmodifications.org/forum/topic/16796-dyndolod-3-alpha-88/?do=findComment&comment=259086
Gonzeh Posted April 18, 2022 Posted April 18, 2022 22 minutes ago, sheson said: Read https://dyndolod.info/How-LOD-Works, https://dyndolod.info/Help/Object-LOD, https://dyndolod.info/Help/Advanced-Mode, https://dyndolod.info/Help/Mesh-Mask-Reference-Rules and https://dyndolod.info/Help/Ultra-Tree-LOD The last makes it obvious what will happen: While the LOD is generated, a log file with a detailed report for each tree is created to ..\DynDOLOD\Logs\DynDOLOD_[GAME MODE]_Tree_Report.txt. It will contain an entry for each which types of assets were found and used for the different LOD levels: ... Level0: meshes\dyndolod\lod\trees\treeaspen01passthru_lod.nif using textures... Level1: meshes\dyndolod\lod\trees\treeaspen01passthru_lod.nif using textures... Level2: meshes\dyndolod\lod\trees\treeaspen01passthru_lod.nif using textures... Dynamic: Meshes\landscape\trees\treeaspen01.nif using textures... LOD4: Level0 LOD8: Billboard1 using internal LOD16: Billboard1 using internal Typically there is only one set of 3D tree models, so Level1 and Level2 would define the same as Level0. Setting a 3D tree LOD model to a LOD level means that it will show the 3D tree LOD models (if available) instead of Billboards. Thank you. Judging by how good my game looks using Level 4 - LOD 0 and then Level 8 and 16 as Billboard 1 I guess I shouldn't mess with the current setup. I'd probably only lower performance if I changed it from that.
DarthVitrial Posted April 18, 2022 Posted April 18, 2022 44 minutes ago, sheson said: Read https://dyndolod.info/How-LOD-Works, https://dyndolod.info/Help/Object-LOD, https://dyndolod.info/Help/Advanced-Mode, https://dyndolod.info/Help/Mesh-Mask-Reference-Rules and https://dyndolod.info/Help/Ultra-Tree-LOD The last makes it obvious what will happen: While the LOD is generated, a log file with a detailed report for each tree is created to ..\DynDOLOD\Logs\DynDOLOD_[GAME MODE]_Tree_Report.txt. It will contain an entry for each which types of assets were found and used for the different LOD levels: ... Level0: meshes\dyndolod\lod\trees\treeaspen01passthru_lod.nif using textures... Level1: meshes\dyndolod\lod\trees\treeaspen01passthru_lod.nif using textures... Level2: meshes\dyndolod\lod\trees\treeaspen01passthru_lod.nif using textures... Dynamic: Meshes\landscape\trees\treeaspen01.nif using textures... LOD4: Level0 LOD8: Billboard1 using internal LOD16: Billboard1 using internal Typically there is only one set of 3D tree models, so Level1 and Level2 would define the same as Level0. Setting a 3D tree LOD model to a LOD level means that it will show the 3D tree LOD models (if available) instead of Billboards. Are you sure this is with the LODGenx64.exe and pdb from this post https://stepmodifications.org/forum/topic/16796-dyndolod-3-alpha-88/?do=findComment&comment=259086 Yeah, positive.
NBBEAST Posted April 18, 2022 Posted April 18, 2022 (edited) On 4/17/2022 at 2:34 AM, sheson said: See https://dyndolod.info/Help/Grass-LOD#Performance Use Skyrim Performance Monitor and/or the task manager to track usage of memory. Thanks. So I did check the task manager while playing. My memory was at 64% usage and CPU was at 50% usage. Would this mean my GPU is at fault here? I know a gtx 1050 ti with 8 gbs of ram isn't amazing but it can do things like overwatch at 120 fps on ultra 1080p so I figured I could run Skyrim with mods like skyland, etac, dyndolod 3.0 and ngio grass lod at 1080p. It's just this constant stutter that shows up every 5 seconds or so. I just don't understand why it doesn't drop frames, I'd so much rather have that than the constant stuttering. I'll be running at a solid 60 fps and it will stutter like crazy out of nowhere. I apologize if this isn't related to dyndolod. I just am frustrated at how poorly my Skyrim has been performing for the last few months. Edited April 18, 2022 by NBBEAST
aragonit Posted April 18, 2022 Posted April 18, 2022 2 hours ago, sheson said: Do you remember the error message(s) in question other than Record Is Being Overridden? it was this: Error in DBM_ArtifactsofBoethiah_Patch.esp DBM_CheatCrateAOB "Artifacts of Boethiah Items" [CONT:FE1A2829] for the crashes... I'm sure there was some memory address, but I don't remember it. 30 minutes ago, NBBEAST said: Thanks. So I did check the task manager while playing. My memory was at 64% usage and CPU was at 50% usage. Would this mean my GPU is at fault here? I know a gtx 1050 ti with 8 gbs of ram isn't amazing but it can do things like overwatch at 120 fps on ultra 1080p so I figured I could run Skyrim with mods like skyland, etac, dyndolod 3.0 and ngio grass lod at 1080p. It's just this constant stutter that shows up every 5 seconds or so. I just don't understand why it doesn't drop frames, I'd so much rather have that than the constant stuttering. I'll be running at a solid 60 fps and it will stutter like crazy out of nowhere. I apologize if this isn't related to dyndolod. I just am frustrated at how poorly my Skyrim has been performing for the last few months. Are you playing from an SSD or HDD? Do you have an autosave manager mod? Which timescale are you playing at? Is the stutter at a certain time of day (ingame)? Inside or outside of a building?
sheson Posted April 18, 2022 Author Posted April 18, 2022 31 minutes ago, NBBEAST said: Thanks. So I did check the task manager while playing. My memory was at 64% usage and CPU was at 50% usage. Would this mean my GPU is at fault here? I know a gtx 1050 ti with 8 gbs of ram isn't amazing but it can do things like overwatch at 120 fps on ultra 1080p so I figured I could run Skyrim with mods like skyland, etac, dyndolod 3.0 and ngio grass lod at 1080p. It's just this constant stutter that shows up every 5 seconds or so. I just don't understand why it doesn't drop frames, I'd so much rather have that than the constant stuttering. I'll be running at a solid 60 fps and it will stutter like crazy out of nowhere. I apologize if this isn't related to dyndolod. I just am frustrated at how poorly my Skyrim has been performing for the last few months. Adding mods with assets that require lots of more resources being constantly loaded when moving around in a large map where new cells attach is very different from a game with a fixed map where everything is most likely constantly loaded. Use default INIs with BethINI. Try using lower settings. Use sane texture resolutions/sizes and settings. Rendering full grass and Grass LOD is very demanding. Reduce density and distance as explained in the performance section. If there is a performance issue at regular intervals without moving around or doing anything, then something is probably running at said interval, could be in-game or external.
sheson Posted April 18, 2022 Author Posted April 18, 2022 9 hours ago, DarthVitrial said: Yeah, positive. This version of DynDLODx64.exe should fix that the problems does not happen with SeasonsCombineAtlas=0. It fixes the season atlas map files do have miniatlas maps like the default season file. Set Verbose=1 in the DynDOLOD_SSE.ini Then run with this version of LODGenx64.exe, hopefully that one will write stuff to the log.
DarthVitrial Posted April 18, 2022 Posted April 18, 2022 10 hours ago, sheson said: This version of DynDLODx64.exe should fix that the problems does not happen with SeasonsCombineAtlas=0. It fixes the season atlas map files do have miniatlas maps like the default season file. Set Verbose=1 in the DynDOLOD_SSE.ini Then run with this version of LODGenx64.exe, hopefully that one will write stuff to the log. With that dyndolod version it just gives me an error that the Resources don't match.. DynDOLOD_SSE_Debug_log.txt DynDOLOD_SSE_log.txt
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now