headfull Posted December 4, 2018 Posted December 4, 2018 (edited) Prologue: INI a LOD of troubleWhat started as an attempt to fix two minor issues, a lod problem with distant ocean squares and a seperate "hole in water" issue has led to a chase down rabbit holes beyond counting. "fSplitDistanceMult=" anything higher than 1.9000 would result in the ocean problem.[the perfect graphics card/INI settings must be found](Thanks various STEP pages) <rant> 2 days tweaking ini's and graphics card settings with splitdist set at 1.5(ultra default), looks good but...fix one thing. <further ranting> few hours spent tweaking fSplitDistanceMult= from 4.5 down to 1.5 and between with bethINI max settings <excessive rant> where do these figures come from, what do they do, what values effect what values, how do I find those perfect setting for me..and other people I suppose.[coffee]fGiveBack=0.0025<deep breath rant> Most of this post may be common knowledge, much of it coincidence, quite a bit sleep derived coffee fueled I wish this cold would go away delirium and maybe just maybe a bit of insight.<MATH WARNING> <NOT A GUIDE>Rantings Volume 1: Did you r.t.f.m.?Default* game ini values and STEP guide gathered game maths...definitely maths.Covered for...reasons. I began just logging my changes in a txt file because I crs; then, later systematically crunching the default* fsplitdistancemult numbers as well as other values and figures. Mult, It must be a multiple of something, something multiplied by it, squared, square roots, X divided by...devided BY X.., grasping at straws, hoping to see a pattern I began mathing. A faint one began to form as I recalled the bellow about ugrids and cell buffer. I've focused mainly on these three settings and SplitDist defualts, but feel I may be overlooking a crucial setting, besides specific grass/tree/etc. Sorry if any or all of this is already covered or just plain old synchronicity, It's killed time. PLEASE, share if you have a formula to find SplitDist=X, I'll be searching the forums in the meantime. There could be nothing to any of this, please take your complimentary grain of salt now.-----------------------fSplitDistanceMult=XWhat, if any settings effect or relate to this? What if any is the formula to find this? If X=X must Y=??? Theory, Split= <something> divided by 2, multiplied by... that's the question. Find default settings/formula that satisfies conditionsTheory, Split dist is is loosely related to one of: cell buffer/Ugrids, RefLODgrid, 64 bit or other.Theory, find numbers that go into 36 a whole number of time, even fractions.Same theory, 64. Example: splitdist=1.5607Similar theory common factor of 64 and 36 whole or fraction or other setting values.<Any other crackpot theory><Values that (can)change from being 64 bit>--------------------------------------------------uExterior Cell Buffer=36uGridsToLoad=5STEP: Exterior Cell Buffer sets the amount of cells to buffer when outdoors. It should be at least the value of uGridsToLoad plus one squaredsqr(5+1)=36[6*6=36]Nothing new here. SSE and changing uGrids, Bad.------------------------------------- uLargeRefLODGridSize=11 (default)Now: Find what determines LargeRefLOD if any, how it's values relates to other settings values.Found this, to be read.https://forum.step-project.com/topic/11518-dyndolod-skyrim-special-edition/ -----------------------------------------------------------------------Other known equations and potential factors for consideration later-----------------------------------------------------------------------fMeshLODLevel1FadeDist sets the primary mesh level of detail fade distance. The maximum distance with uGridsToLoad at 5 is around 16896.fMeshLODLevel1FadeTreeDistance sets the primary mesh level of detail fade distance for trees. The maximum distance with uGridsToLoad at 5 is around 16896.MeshLODLevel2FadeDist sets the secondary mesh level of detail fade distance. The maximum distance with uGridsToLoad at 5 is around 16896.fMeshLODLevel2FadeTreeDistance ...uGridsToLoad at 5 is around 16896. Note: STEP guide also lists Ultra values as 10,000,000 for some of these.-------------------------------------Rantings Chapter 2: They slowly backed away (uLargeRefLODGridSize)Begin madness. Coincidence or correlation, I'm not sure; This stuck out to me. Not sourced from anywhere that I know, maybe LE pages but I haven't seen it.(uLargeRefLODGridSize)-(uGrids)=(Square root of Cell buffer)(uLargeRefLODGridSize)11- 5(uGrid)=6 (square root of 36{cell buffer})or(11-1)/2=5 (ugrids) or 5+(5+1)=11 or <alt expression here>This works for default values But what happens when you change LargeRef or "other settings". TBD-----STEP:"iGrassCellRadius sets the radial number of cells that grass is rendered around the player. This must be set to (uGridsToLoad - 1)/2. If set higher, grass will bug out quickly and remove all grass upon walking just a short distance. If set lower, grass will pop into view unrealistically. Negative values disable grass.Default is 2. Recommended is (uGridsToLoad - 1)/2."{sqr(64)=8}{sqr(36)=6}8-6=2 [Grass lod setting that =2]Could be coincidence, another thing that popped out at me. This is what my brain does.-----------------------------------------------------------------------------------------------------------------------------Chapter 3: The Phantom Maths bCountingCards=1So here we are back at the beginning but yet halfway through. This section is SplitDif values that I broke down to their additives (multiplication is just addition) into columns so that I could look at the previous row and know the next value in the sequence without mathing (patterns). Maybe someone can Rain-man something out of this I cannot. Try different column set-ups maybe.fSplitDistanceMult=X plus itselfX+x=y, y+x= etc--------------------------SplitDif Default valuesfSplitDistanceMult=0.4(Low), =0.75 (med/default), =1.1(High), =1.5(Ultra), =4.0000 (bethINI)---------------------------Default00.75> 01.5> 02.25> 03>03.75> 04.5> 05.25> 06*> 06.75> 07.5> 08.25> 09>09.75> 10.5> 11.25> 12>12.75> 13.5> 14.25> 15>15.75> 16.5> 17.25> 18>18.75> 19.5> 20.25> 21>21.75> 22.5> 23.25> 24>24.75> 25.5> 26.25> 27>27.75> 28.5> 29.25> 30>30.75> 31.5> 32.25> 33>33.75> 34.5> 35.25> 36*>36.75> 37.5> 38.25> 39>39.75> 40.5> 41.25> 42>42.75 4545.75 48 48.75 5151.75 5454.75 5757.75 6060.75 63//68.75High 01.1> 02.2> 03.3> 04.4> 05.5> 06.6> 07.7> 08.8> 09.9> 11> 12.1> 13.2> 14.3> 15.4> 16.5> 17.6> 18.7> 19.8> 20.9> 22>23.1> 24.2> 25.3> 26.4> 27.5> 28.6> 29.7> 30.8> 31.9> 33>34.1> 35.2> 36.3> 37.4> 38.5> 39.6> 40.7> 41.8> 42.9> 44>45.1> 46.2> 47.3> 48.4> 49.5> 50.6> 51.7> 52.8> 53.9> 55>56.1> 57.2> 58.3> 59.4> 60.5> 61.6> 62.7> 63.8> 64.9>//66>67.1> 68.2>78.1> 79.2>Ultra01.5> 03> 04.5> 06>07.5> 09> 10.5> 12>13.5> 15> 16.5> 18>19.5> 21> 22.5> 24>25.5> 27> 28.5> 30>31.5> 33> 34.5> 36*>37.5> 39> 40.5> 42>43.5> 45> 46.5> 48>49.5> 51> 52.5> 54>55.5> 57> 58.5> 60>61.5> 63> 64.5// 66Beth04> 08> 1216> 20> 24>28> 32> 36***40> 44> 48>52> 56> 6064*>4*16=64Low0.4> 0.8> 1.6> 2.0> |2.4> 2.8> 2.6> 3.0> |3.4> 3.8> 3.6> 4.0> |4.4> 4.8> 4.6> 5.0> |5.4> 5.8> 5.6> 6.0> |6.4> |160 x's to 64, too many ways to break downSECTION CLOSE SPOILER Everything in this ENTIRE post needs proven, save from what's been pulled from STEP LE guides and even then some of those may need adjusting for 64 bit. Everything I post(ed) could be wrong. My goal is to approach this as objective as I can be and to forget every thing I know, or everything I think I know. TBC... Edited December 4, 2018 by headfull
headfull Posted December 4, 2018 Author Posted December 4, 2018 More m.a.d.n.e.s.s.----------------------------------------------Chapter 4: Bat country, seriously this is mostly gibberishStop. Random math of game related figures. Still reading? No provable relation to anything except that the base value comes from either the game itself or INI's in hopes to help pull soma. Posted for continuity. Common factors, square roots, you name it.Madness. Madness? Madness! (Multiples. Addition. Division. NoWeSubtractToo. Edition. Special. Skyrim.)64 & 36The common factors are:1, 2, 4, 8, 16The Greatest Common Factor:GCF = 16The factors of 16 are:1, 2, 4, 8, 16The factors of 64 are:1, 2, 4, 8, 16, 32, 64The common factors are:1, 2, 4, 8, 16-----------------------------(LCD), of 36 and 64 is 576.576/36 = 16576/64 = 9-----------------------------64/2=3264> 32> 16> 8> 4> 2> 136/2=1836> 18> 9> 4.5> 2.25> 1.125> .5625(nearly low splitdist) ---------------------------------------------Sqrt 64>>>6482.828427121.68179283**1.296839551.138788631.06714041.033024881.016378321.0081559----------------Sqrt 36>>>6>2.449489742783178>1.565084580073287-------------------------64 bit > 8 bytes > .064 > .0625 > .008 > .007813 > ?0.000064? > 0.000061 > 0.000008-----------------------------------------------------------------------------------------------------1.5 sqr = 2.2536/2.25=16-----------------{24*1.5=36}1/(1.50)=0.66666666666666670.6666666666666667 * 36=24{24*1.5=36}1/(24)=.0416666666666667{ 24*0.0416666666666667=1 }{36/.666666=54}-------------------------36/1.5=2424/1.5=1616/1.5=10.6666666666666710.66666666666667/1.5=7.1111111111111117.111111111111111/1.5=4.7407407407407414.740740740740741/1.5=3.160493827160494Etc 3.160493827160494Etc 1.404663923182442-------------------------------------5+11=1636+11+5=52-------------------------------------36/5=7.27.236/11=3.27272727272727311/5=2.25*11/36=1.5277777777777785*36/11=16.363636363636365*11*36=1,98036/5*11=79.2 m.a.d.n.e.s.s----------------------- Chapter 4.2 New m.a.d.n.e.s.s.'s (Probably the part to read) Formulas to try to prove my split dist theory, on zee fly, You still have your sand? Spilt dist=X, but really any way.X/2*Y=Z (36/2)Y=X(5/2)Y=X2X/Y=5 or 11 or 36 or.....<any reasonable and logical formula>More to come and add if possible. Interlude:In subsequent posts I'll try to pull something rational from TL;dr and prove and disprove as much as I can from all of the above. I accidentally posted and quickly edited the OP, hope I included everything I wanted to. Do not stand by. WIP
DoubleYou Posted December 4, 2018 Posted December 4, 2018 How I arrived at a maximum of around 16896 for fMeshLODLevel1FadeDist and similar was through repeatedly changing the value until it had no effect anymore. I don't know if it has a different approximate maximum, be it higher or lower, if you change uGridsToLoad, as I decided it wasn't necessary to investigate since I wanted the value merely for game performance optimization.
headfull Posted December 4, 2018 Author Posted December 4, 2018 (edited) Thank you for the reply DoubleYou. After my previous posts I started focusing on the terrain manager settings, working with STEP guide default values. I should take into account your max number and see if I can disprove my findings with it. Till then keep grain of sand handyHighlights of current & previous posts:NewWait EditOP(uLargeRefLODGridSize)-(uGrids)=(Square root of Cell buffer)(uLargeRefLODGridSize)11- 5(uGrid)=6 (square root of 36{cell buffer})or(11-1)/2=5 (ugrids) or 5+(5+1)=11 or <alt expression here> Unfiltered current study: Subject to new info SAMPLE SETTINGS:fBlockMaximumDistance=1000000.0000fBlockLevel1Distance=280000.0000fBlockLevel0Distance=140000.0000fSplitDistanceMult=10.0000Try these settings:[TerrainManager]fBlockLevel0Distance=50000fBlockLevel1Distance=72500fBlockMaximumDistance=94000fSplitDistanceMult=1.5 -----------------------------------------------------------------------mine atmfBlockLevel0Distance=75000.0000Default is 20480. Low is 15000. Medium is 20480. High is 25000. Ultra is 35000.fBlockLevel1Distance=125000.0000Default is 32768. Low is 25000. Medium is 32768. High is 40000. Ultra is 70000fBlockMaximumDistance=94000.0000Default is 100000. Low is 75000. Medium is 100000. High is 150000. Ultra is 250000fSplitDistanceMult=1.9000Default is 0.75. Low is 0.4. Medium is 0.75. High is 1.1. Ultra is 1.5.fTreeLoadDistance=75000.0000Default is 25000. Low is 12500. Medium is 25000. High is 40000. Ultra is 75000-----------------------------------Test equationscurrentSpiltDist 1.5/2*fBlock 94,000=70,5001.5/2*75000=562501.5/2*125000=9375011/2*1.511/1.511*.75not seeing it-----------------------------------sqr(1.5)=2.25/2=1.125Hmm strech{uLargeRefLODGridSize=11}------------Half{125,000 Cuurent Level1dist/1.125=111111.1111111111}{111111.1111111111/10,000=11.11111}{But what is 10k and why did I multiply LargeRefLODGrid by it}{125,000/2.25=55555.55555555556 /2=111,111.1111111111}Whole{250,000 Blockmax Ultra/2.25=111,111.1111111111} hmmm{Sqr(1.5)*111111.1111111111=250,000{Or Square root of splitdist times uLargeRefLODGridSize=fBlockMaximumDistance}Maybe worth looking into further. How does this relate, possibly hint at what to set Blockmax or other terrain settings at if splitdist=XTest of above{{sqr(1.9)=3.61*111111.1111111111=401111.1111111111}}{{{401111.1111111111/2=200555.5555555556 New Fblocklvl1, something?? THEORY ATTEMPT OWN RISK}}}{{{Default 0.75: srq(.75)=0.5625*111111.1111111111=62499.99999999999}}}{{{62499.99999999999/2=31,250 (nearly fblocklevel1) }}}***{{{sqr(1.5)=2.25*111111.1111111111=250,000}}} fBlockMaximumDistance ultra{{{250,000/2=125,000}}} My current fBlockLevel1Distance***Ultra(((250000/11.11111---------------------------------------------------------------Square root of splitdist times uLargeRefLODGridSize =fBlockMaximumDistance-Square root of splitdist divide by two =fBlockLevel1Distance(works***)-uLargeRefLODGridSize=11 is actually 11.11111OP(uLargeRefLODGridSize)-(uGrids)=(Square root of Cell buffer)(uLargeRefLODGridSize)11- 5(uGrid)=6 (square root of 36{cell buffer})or(11-1)/2=5 (ugrids) or 5+(5+1)=11 or <alt expression here>------------------------------------------------Poop{94000 Current Fblockmax/2.25=41777.77777777778}{94,000/1.5=62666.66666666667}{94,000/2=47,000}Defualt.75/2*20480=7680.75/2*32768=12288.75/2*100000=37500 Edited December 4, 2018 by headfull
headfull Posted December 4, 2018 Author Posted December 4, 2018 Edit: I make a few presumptions that I didn't express properly sqr(1.5)=2.251.5 squared in case I'm writing that wrong was writing square root on a few of them.../2=1.125{(1.5*1.5) / 2 =1.125} (Mult, split dif)---------------------------------------------uLargeRefLODGridSize=11.11111???? 11.11111 ???? Current Level1dist (Ultra set by bethINI?) 125,000/1.125 (see above) = 111111.1111111111Ok..that lead to250,000 Blockmax Ultra/2.25=111,111.1111111111 (just going to call this uncompressed till rhyme or reason found) TO(Splitdist SQUARED) times 111111.1111111111 {uLargeRefLODGridSize=11.11111} = fBlockMaximumDistanceEX:sqr(1.5)=2.25*111111.1111111111=250,000Raw data for further examples---------------------------------------------------------Attempt to REwrite previous highlights(Splitdist squared) times uLargeRefLODGridSize UNCOMPRESSED=fBlockMaximumDistance {sqr(1.5)=2.25*111111.1111111111=250,000} ---------fBlockMaximumDistance/2=fblocklevel1or(Square of splitdist) times (uLargeRefLODGridSize uncompressed) =fBlockMaximumDistance/2 =fBlockLevel1Distance ----------------------uLargeRefLODGridSize=11.11111"uncompressed"=111111.1111111111 Raw data has improper expressions as well.
DoubleYou Posted December 4, 2018 Posted December 4, 2018 uLargeRefLODGridSize is an unsigned integer, which means it is merely 11, and cannot be 11.11111111111111111... The fBlockLevel0Distance et. al. settings are not necessarily related to fSplitDistanceMult. But they might be. A way to test would be to set the values at zero and test the in-game effects. For example, put fSplitDistanceMult at 4 and all the fBlock distance settings at zero and see if the water anomalies are still present at Winterhold. If so, that would be an indicator that fSplitDistanceMult is not being multiplied by the fBlock distance values, as otherwise the result would be 0 and not 4.
headfull Posted December 4, 2018 Author Posted December 4, 2018 It's rounded down for actual game use I suppose, I don't know. But for my purpose of trying to find formuli it seems to work. Or it's just a weeeee bit o' insanity. {sqr(1.5)=2.25*111111.1111111111=250,000}fBlockMaximumDistance=250,000 Ultra Thanks for the tips, I suppose I really could save time and effort with some in game testing of connectivity of settings.
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