adjustable LOD cutoffs
-
Allow players to manualy adjust lod cutoffs based on individual pc performance. like having a slider in the options menu in game.
Mutliple LODs exist in order to make performance better when there are too many units on screen at any one time.
This works by showing you lower res images the further you zoom out.
This is great for players who have low performing computers or moniters but looks really ugly for those of us running 4k.
However most people these days have very high performing computers, and would like to make the most of them even if faf only uses single core.
Single core stronk in modern computers!Most things get very ugly at the cut off like units and even props like tress and rocks. some dont even have a lod1 so they just disapear all together past 130 zoom.
-
Experimental graphics option should alleviate that a little bit by pushing all lod's by another 20-30%. But the answer to why can't we have the game show everything all the time is performance that is gonna massively vary between the maps and the game states. A game that is fine at the beginning might easily drop below dozen FPS where there is bunch of broken crap on it, like tree groups or stuff as the game is gonna simply throw too many draw calls at your GPU.
You can see the performance hit here: https://www.youtube.com/watch?v=dAqlgrOjy2Q
Also, could ask more technically inclined people if it's possible to edit this parts of lua yourself to see if it's possible to push the experimental graphics option even more by yourself.
https://github.com/FAForever/fa/blob/develop/lua/ui/game/gamemain.lua#L351 -
@TheVVheelboy said in adjustable LOD cutoffs:
Also, could ask more technically inclined people if it's possible to edit this parts of lua yourself to see if it's possible to push the experimental graphics option even more by yourself.
Yes, you can call these two conexecutes from a ui mod as well. There are more settings possible. There are also mods that change a lot of them, but I forgot the name. I can look it up later, but if you search for "graphics" in the mod vault you might find it already
-
I wrote a small mod in 2018 to automatically adjust the LODs.
The function is located in AdvancedLOD\hook\lua\system\Blueprints.lua.
There, you can experiment with different settings to find what works best for you.
The code is documented and should clearly describe what happens in each line.The downside is that LOD settings are specified in the blueprint and then managed by the C# engine.
This means it can only be done with a SIM mod.If anyone is interested in experimenting with it or using it as a basis for something else, here is the code:
-
There is a Improved Graphics 2024 mod in the vault that changes a bunch of render settings. You can have a look there and modify the mod to your liking.
I also found a text file on my hard drive where I collected some explanations of some of the graphics settings. No guarantees on correctness as it is based on my understanding of the time and also some years old.ConExecute("ren_DecalNormalLodCutoff 560")
ConExecute("ren_DecalAlbedoLodCutoff 560")
ConExecute("fog_DistanceFog off") -- map fog
ConExecute("efx_WaveCutoff 560")
ConExecute("UI_StrategicProjectileLOD 185") --standard 128, there is no apparent reason for changes
ConExecute("ren_ShorelineCutoff 560")
ConExecute("ren_SyncTerrainLOD 560")
ConExecute("cam_HighLOD 0.2") --sets the LOD value for the detail level “high” that can be selected in the menu
ConExecute("cam_MediumLOD 0.3") --sets the LOD value for the detail level “medium” that can be selected in the menu
ConExecute("cam_LowLOD 0.4") --sets the LOD value for the detail level “low” that can be selected in the menu
ConExecute("cam_DefaultLOD 0.2")
ConExecute("cam_SetLOD 0.2")
ConExecute("cam_DefaultMiniLOD 1.65")
ConExecute("ren_shadowsize 4096") --Resolution of the shadow map
ConExecute("ren_shadowLOD 400") --At what FocusDistance do we stop rendering shadows
ConExecute("cam_ShakeMult 0.1")
ConExecute("ren_IgnoreDecalLOD") --force render decals
ConExecute("ren_Meshdissolve 40") --double default value, individual value to be compared with LODMetric is defined in the blueprint exact function and interaction with ren_MeshdissolveCutoff unclearSC_CameraScaleLOD 0 or 1 or 2 most likely determines which of the three LOD scales is used
LODMetric is the FocusDistance multiplied by cam_HighLOD, cam_MediumLOD or cam_LowLOD, measured at the respective location
Depending on FocusDistance, the strategic symbols are displayed (Standart 130, set in the blueprint)