UPDATE 2.1: minor fixes, more frames and stability (?)
UPDATE 2.0: It contains POP IN FIX, 3D AUDIO, MOUSE SMOOTHING, NO SHADER LOADING and overall better PERFORMANCE and VISIBILITY. Also should have fixed the STRONG bright light coming inside form windows so we are no more blind when looking outside LOL even more FPS NOW IT SHOULD REMOVE POP IN WITH A MINOR DECREASE IN FPS COMPARED TO THE OLDER VERSION and keep HIGH VISUAL FIDELITY, please try it and let me know if also for you is better like in my case! (~30 fps more compared to the old engine 1.0, at least for me, i need your feedback)
if anyone got any problem with shader loading just remove Engine.ini file from folder, launch the game VANILLA let the shaders load and once done close the game put engine.ini back inside the folder and enjoy!
DISCLAIMER:
On my system i get WAY better frames compared to previous one. But it may vary for other people with a different components. for me with AMD gpu-cpu combo i am getting lots of frames with my engine, removed pop ins (90% or them) and i maxed out graphic setting. With this i get even more frames than vanilla with even better visual fidelity. i also reduced the bright light effect coming from outside when you are inside a building and you you can even look outside without losing your eyes LOL also my engine increase water and glass reflection without losing performance (i repeat at least on my system) i cant guaratee it works for everyone i am getting inconsistent feedbacks and i guess most of it comes form NVIDIA gpu users, again i guess it just worth a try if it does not work or you get worse graphic just revert back to 1.0 version.
also my advice is not to merge this with your already existing engine.ini because you can create overlapping and mess things up. just replace your engine.ini with mine before making assumptions.
I'm use shader compilation and shader warmup. So I'm disabled options D3D12.PSO.DriverOptimizedDiskCache=1 and r.PSOWarmup.WarmupMaterials=0 But game with your engine.ini sometimes didn't launch with UE5 error, and after it starts to build shaders cache at start. What options causes rebuilding shaders cache recompilation in your ini? I'm understand that your default ini is without disabled shaders compilations, but this is not enhance game. Shaders compilation and shaders warmup needed to speedup game during long sessions.
Question: When I go to C:\Users\YOURUSER\AppData\Local\Stalker2\Saved\Config\Windows I can never actually find Stalker 2. Whenever I install stalker 2 from steam, I always install the game on my (D:) drive. Is this where my issue lies? Does anyone have a solution?
Yeah it's so f*#@ing annoying when they just throw an engine.ini file at you as if you're going to use their file and not look into any other tweaks XD
EDIT: Here you go guys. ;------------FoliageRenderDistance---------------------------------------------------------------------------------------------------------------------------------------------- foliage.LODDistanceScale=3.0; controls the level of detail (LOD) distance scaling for foliage in the game. The higher this value is, the farther away foliage can remain visible in higher detail. Adjusting this value can improve performance by reducing the quality of foliage at greater distances or increasing visual fidelity at the cost of performance. Setting it to 3.0 means the foliage LODs will scale by 3 times the normal distance.
foliage.DitheredLOD=5 ; Sets the LOD level at which dithering is applied for foliage. ; Dithering helps reduce the visible pop-in when switching between LODs. ; Higher values apply dithering to more distant LODs, improving visual transitions.
fg.MaxNumBakedFoliageActorsToProcess=32 ; Defines the maximum number of baked foliage actors to process per frame. ; This limits how many foliage objects are processed during a frame, impacting performance. ; Reducing this helps with performance in scenes with many foliage actors.
fg.MaxNumBakedFoliageActorsToTick=128 ; Sets the maximum number of baked foliage actors to update (tick) per frame. ; Affects how many foliage objects are dynamically updated each frame. ; Lowering this can improve performance by reducing the number of objects with real-time updates.
fg.MaxNumBakedFoliageActorsToTick.Near=32 ; Sets the maximum number of baked foliage actors to update (tick) when they are near the camera. ; This prioritizes foliage close to the camera for dynamic updates, improving realism for nearby objects. ; Reducing this helps optimize performance by limiting updates to far objects.
fg.MaxNumBakedHISMsOrISMsToProcess=32 ; Defines the maximum number of baked Hierarchical Instanced Static Meshes (HISMs) or Instanced Static Meshes (ISMs) to process per frame. ; Controls how many instanced meshes are processed during each frame. ; Adjust this to manage performance in scenes with large numbers of instanced objects.
fg.MaxNumBakedHISMsOrISMsToTick=128 ; Sets the maximum number of baked HISMs or ISMs to update (tick) per frame. ; Controls how many instances of meshes will be dynamically updated in real-time. ; Lowering this helps reduce the workload in scenes with numerous instanced objects.
fg.MaxNumComponentsToProcess=16 ; Defines the maximum number of components (e.g., mesh, light, physics) to process per frame for foliage or static meshes. ; Reduces the number of components processed each frame, helping with performance. ; Increase this for more complex updates but reduce it if performance is a concern.
fg.MaxNumComponentsToTick=128 ; Sets the maximum number of components to update (tick) per frame for foliage or static meshes. ; Affects how many parts of an actor (such as mesh or physics) are updated each frame. ; Lowering this can improve performance by reducing real-time updates on components.
fg.MaxNumComponentsToTick.Near=64 ; Defines the maximum number of components to tick when they are near the camera or player. ; Prioritizes components near the player for updates, while reducing updates for distant components. ; Use this to improve performance by lowering updates for far-off objects.
fg.CullDistanceScale.Bushes=2 ; Adjusts the distance at which bushes are culled (no longer rendered). ; A value of `2` means bushes will be visible from twice the default distance. ; Increase this if you want bushes to be visible from farther away, or decrease it to improve performance.
r.StaticMeshLODDistanceScale=0.1 ; Scales the distance at which static meshes switch to lower LODs (Level of Detail). ; A value of `0.1` makes lower LODs switch much closer to the camera. ; Lower values help improve performance by using less detailed meshes at shorter distances.
r.Shadow.DistanceScale=1.5 ; Controls the distance at which shadows are rendered in the scene. ; A value of `1.5` increases the range at which shadows are visible. ; Increase this if you want shadows to appear from further away, but note that it may reduce performance.
r.Shadow.CSMDepthBias=1 ; Adjusts the depth bias for Cascaded Shadow Maps (CSM). ; Helps reduce visual artifacts like shadow acne when rendering shadows. ; Increase this value if you notice shadow artifacts, but too high may lead to shadows appearing unnaturally.
I like the way this mod works (was using the standalone pop-in option only) but my problem with it is that it, ironically, impacts the framerate in town for me (where you never really see pop-in at all). It's actually a fairly substantial hit, too: I go from 145+ sustained in the first town down to about 120 with this engine.ini's changes.
Otherwise, I love it. Completely eliminates vegetation/tree pop-in out in the zone.
If I could get it just to fix that only and not drag down the performance in town so much I'd keep using it.
Amazing work! So nice to not see trees, foliage and bushes pop in and out like crazy. Which is quite unimmersive.
I notice a slight performance impact. But will test it some more to see how it plays out over a longer period of time and traversal of longer distances in the zone.
Here are my updated LOD settings, as I used them and tested them in-game while playing different heights/locations via console.
[SystemSettings] foliage.DitheredLOD=1 foliage.DensityScale=1 grass.DensityScale=1 r.ViewDistanceScale=3 foliage.LODDistanceScale=5 fg.CullDistanceScale.Trees=1 fg.CullDistanceScale.Grass=3 fg.CullDistanceScale.Bushes=3 r.StaticMeshLODDistanceScale=0.1 ViewDistanceScale should be at least 2, it loads further foliage and details superbly. foliage.LODDistanceScale 5 is really needed and goes hand-in-hand with ViewDistanceScale. Bushes more than 3 doesn't matter. Grass at 3 demanding but matters. Trees you cannot give value more than 1 as it breaks distant trees so bad it removes them altogether and it looks unpopulated and also it doesn't change much at 3 for close trees anyways.. 1% maybe.
Result is excellent, anywhere you go, no tree/grass/bush pop, nothing except 1% of the time very little tree structure change as I zoom in 150% with mod but that's really 1 in a 50 trees and very seldom happening and you gotta look for it hard.
98 comments
UPDATE 2.0: It contains POP IN FIX, 3D AUDIO, MOUSE SMOOTHING, NO SHADER LOADING and overall better PERFORMANCE and VISIBILITY.
Also should have fixed the STRONG bright light coming inside form windows so we are no more blind when looking outside LOL
even more FPS
NOW IT SHOULD REMOVE POP IN WITH A MINOR DECREASE IN FPS COMPARED TO THE
OLDER VERSION and keep HIGH VISUAL FIDELITY, please try it and let me know if also for you is better
like in my case! (~30 fps more compared to the old engine 1.0, at least
for me, i need your feedback)
if anyone got any problem with shader loading just remove Engine.ini file
from folder, launch the game VANILLA let the shaders load and once done
close the game put engine.ini back inside the folder and enjoy!
DISCLAIMER:
On my system i get WAY better frames compared to previous one.
But it may vary for other people with a different components. for me with AMD
gpu-cpu combo i am getting lots of frames with my engine, removed pop
ins (90% or them) and i maxed out graphic setting. With this i get even
more frames than vanilla with even better visual fidelity.
i also reduced the bright light effect coming from outside when you are inside a
building and you you can even look outside without losing your eyes LOL
also my engine increase water and glass reflection without losing performance (i repeat at least on my system)
i cant guaratee it works for everyone i am getting inconsistent
feedbacks and i guess most of it comes form NVIDIA gpu users, again i guess it just worth a try
if it does not work or you get worse graphic just revert back to 1.0 version.
also my advice is not to merge this with your already existing engine.ini
because you can create overlapping and mess things up. just replace your
engine.ini with mine before making assumptions.
But game with your engine.ini sometimes didn't launch with UE5 error, and after it starts to build shaders cache at start.
What options causes rebuilding shaders cache recompilation in your ini?
I'm understand that your default ini is without disabled shaders compilations, but this is not enhance game. Shaders compilation and shaders warmup needed to speedup game during long sessions.
Chat GPT solved my issue
I'm sure some of the other stuff is helpful but this is just too comprehensive.
Also this completely broke reflections.
I'd take it without any reflection adjustments honestly.
edit:seems like maybe it was async compute causing the broken reflections
shader caching disable should also be an option, not baked in by default
EDIT: Here you go guys.
;------------FoliageRenderDistance----------------------------------------------------------------------------------------------------------------------------------------------
foliage.LODDistanceScale=3.0; controls the level of detail (LOD) distance scaling for foliage in the game. The higher this value is, the farther away foliage can remain visible in higher detail. Adjusting this value can improve performance by reducing the quality of foliage at greater distances or increasing visual fidelity at the cost of performance. Setting it to 3.0 means the foliage LODs will scale by 3 times the normal distance.
foliage.DitheredLOD=5 ; Sets the LOD level at which dithering is applied for foliage. ; Dithering helps reduce the visible pop-in when switching between LODs. ; Higher values apply dithering to more distant LODs, improving visual transitions.
fg.MaxNumBakedFoliageActorsToProcess=32 ; Defines the maximum number of baked foliage actors to process per frame. ; This limits how many foliage objects are processed during a frame, impacting performance. ; Reducing this helps with performance in scenes with many foliage actors.
fg.MaxNumBakedFoliageActorsToTick=128 ; Sets the maximum number of baked foliage actors to update (tick) per frame. ; Affects how many foliage objects are dynamically updated each frame. ; Lowering this can improve performance by reducing the number of objects with real-time updates.
fg.MaxNumBakedFoliageActorsToTick.Near=32 ; Sets the maximum number of baked foliage actors to update (tick) when they are near the camera. ; This prioritizes foliage close to the camera for dynamic updates, improving realism for nearby objects. ; Reducing this helps optimize performance by limiting updates to far objects.
fg.MaxNumBakedHISMsOrISMsToProcess=32 ; Defines the maximum number of baked Hierarchical Instanced Static Meshes (HISMs) or Instanced Static Meshes (ISMs) to process per frame. ; Controls how many instanced meshes are processed during each frame. ; Adjust this to manage performance in scenes with large numbers of instanced objects.
fg.MaxNumBakedHISMsOrISMsToTick=128 ; Sets the maximum number of baked HISMs or ISMs to update (tick) per frame. ; Controls how many instances of meshes will be dynamically updated in real-time. ; Lowering this helps reduce the workload in scenes with numerous instanced objects.
fg.MaxNumComponentsToProcess=16 ; Defines the maximum number of components (e.g., mesh, light, physics) to process per frame for foliage or static meshes. ; Reduces the number of components processed each frame, helping with performance. ; Increase this for more complex updates but reduce it if performance is a concern.
fg.MaxNumComponentsToTick=128 ; Sets the maximum number of components to update (tick) per frame for foliage or static meshes. ; Affects how many parts of an actor (such as mesh or physics) are updated each frame. ; Lowering this can improve performance by reducing real-time updates on components.
fg.MaxNumComponentsToTick.Near=64 ; Defines the maximum number of components to tick when they are near the camera or player. ; Prioritizes components near the player for updates, while reducing updates for distant components. ; Use this to improve performance by lowering updates for far-off objects.
fg.CullDistanceScale.Bushes=2 ; Adjusts the distance at which bushes are culled (no longer rendered). ; A value of `2` means bushes will be visible from twice the default distance. ; Increase this if you want bushes to be visible from farther away, or decrease it to improve performance.
r.StaticMeshLODDistanceScale=0.1 ; Scales the distance at which static meshes switch to lower LODs (Level of Detail). ; A value of `0.1` makes lower LODs switch much closer to the camera. ; Lower values help improve performance by using less detailed meshes at shorter distances.
r.Shadow.DistanceScale=1.5 ; Controls the distance at which shadows are rendered in the scene. ; A value of `1.5` increases the range at which shadows are visible. ; Increase this if you want shadows to appear from further away, but note that it may reduce performance.
r.Shadow.CSMDepthBias=1 ; Adjusts the depth bias for Cascaded Shadow Maps (CSM). ; Helps reduce visual artifacts like shadow acne when rendering shadows. ; Increase this value if you notice shadow artifacts, but too high may lead to shadows appearing unnaturally.
Otherwise, I love it. Completely eliminates vegetation/tree pop-in out in the zone.
If I could get it just to fix that only and not drag down the performance in town so much I'd keep using it.
I notice a slight performance impact. But will test it some more to see how it plays out over a longer period of time and traversal of longer distances in the zone.
[SystemSettings]
foliage.DitheredLOD=1
foliage.DensityScale=1
grass.DensityScale=1
r.ViewDistanceScale=3
foliage.LODDistanceScale=5
fg.CullDistanceScale.Trees=1
fg.CullDistanceScale.Grass=3
fg.CullDistanceScale.Bushes=3
r.StaticMeshLODDistanceScale=0.1
ViewDistanceScale should be at least 2, it loads further foliage and details superbly.
foliage.LODDistanceScale 5 is really needed and goes hand-in-hand with ViewDistanceScale.
Bushes more than 3 doesn't matter.
Grass at 3 demanding but matters.
Trees you cannot give value more than 1 as it breaks distant trees so bad it removes them altogether and it
looks unpopulated and also it doesn't change much at 3 for close trees
anyways.. 1% maybe.
Result is excellent, anywhere you go, no tree/grass/bush pop, nothing except 1% of the time very little tree
structure change as I zoom in 150% with mod but that's really 1 in a 50
trees and very seldom happening and you gotta look for it hard.
r.ViewDistanceScale=1
foliage.LODDistanceScale=4 ;or 3
fg.CullDistanceScale.Trees=1.2
fg.CullDistanceScale.Grass=1 ;or 2
fg.CullDistanceScale.Bushes=3
yes its aggresive to my liking.. maybe try above. btw, viewdistancescale bugged with trees thats why its 1 now.