.INI tweaks for low-spec Gaming Laptops/PC's (DX12) [WIP]

Description

Hello! First of all, I would like to announce this is my first ever mod for TSW, so please bare with me since i'm completely new to this. I'd also like to thank Centi for helping me test the engine.ini, they've been brilliant <3. I would also like to thank Profile picture of JetWash JetWash for allowing me to use his .ini for inspiration. :D

I've decided to create an engine.ini that allow players who have a low-spec gaming laptop or PC to fully enjoy TSW without having to deal with low FPS's when running DX12. I have also tried to make it so that the visual quality of the game does not decrease. I originally made this .ini for myself, since my specs are:

  • ASUS TUF GAMING 15
  • NVIDIA GeFORCE RTX 2050
  • AMD RYZEN 7 7435HS
  • 16GB

So yeah, not the best gaming laptop in the world, especially for TSW5, but I cannot run TSW in DX11 due to the amount of stuttering it causes, and enabling DX12 on it's own, or with Jetwash's or IMMY's .ini changes, I average at around 15-20 fps.

This Engine.ini is still in WIP, and I will constantly update it to suit mine, and hopefully, your needs. Please, ANY feedback is appreciated, and will (obviously) be considered whenever I do update it next.

WARNING: PLEASE back up your current .INI file , just in case this .ini isn't for you. I understand that this .ini file isnt for everyone. If you DO have a really good PC/Gaming Laptop, I DO NOT recommend these .ini settings.. unless of course, you just wanna try it out.

TO GET THE MOST OUT OF THIS .INI:

IN-GAME SETTINGS

  • Make sure that your in-game Graphic Preset is set to Ultra.
    • Foilige Quality: Ultra
    • Shadow Quality: High
    • Effects Quality: High
    • Sky Quality: Ultra
    • Fog Quality: High
    • Post Process Quality: Ultra
    • View Distance Quality: Ultra
    • Texture Quality: High
    • Max FPS: 60
    • AntiAliasing: TAA
    • Vsync: Off
    • Screen Percentage: 100
  • Make sure Volumetric Fog is disabled
  • Make sure Motion Blur is off

NVIDIA CONTROL PANEL SETTINGS
Go to Manage 3D Settings > Program Settings > Add > TrainSimWorld5

  • Anistropic Filtering = 16x
  • Antialiasing - FXAA = Off
  • Antialiasing - Gamma correction = On
  • Antialiasing - Mode = Application-controlled
  • Antialiasing - Transparency = Off
  • Background Application Max Frame Rate = Off
  • CUDA - GPUs = All
  • CUDA - System Fallback Policy = Driver Default
  • Low Latency Mode = On (or Ultra)
  • Max Frame Rate = 60
  • Multi-Frame Sampled AA (MFAA) = Off
  • OpenGL GDI compatibility = Auto
  • OpenGL Rendering GPU = Your GPU
  • Power management mode= Prefer maximm performance
  • Preferred refrresh rate = Highest available
  • Texture Filturing - Anisotropic Sample Optimisation = Off
  • Texture Filturing - Negative LOD bias= Clamp
  • Texture Filturing - Quality = Quality (or Performance)
  • Texture Filturing - Trilinear Optimisation = On
  • Threaded Optimisation = On
  • Triple Buffering = Off
  • Vertical Sync = Off

Thank you a lot!

UPDATE 1.6

Long overdue.. Of course.. any issues, let me know.

TL;DR:

  • • View distance + LODs increased
  • • Shadows extended and refined [Still working on this..]
  • • Texture MipBias increased

ADDED

r.TemporalAACurrentFrameWeight=0.15
r.TemporalAASamples=16
r.TemporalAAFilterSize=1.0
r.TemporalAA.Upsampling=1
r.SpecularHighlights=1
r.MinRoughness=0.3
foliage.DitheredLOD=0
r.Shadow.CSM.TransitionScale=1.3
r.Shadow.FilterMethod=1
r.VolumetricFog.GridPixelSize=12
r.MaxAnisotropy=16
r.GTSyncType=1

CHANGED

r.PostProcessAAQuality=4 --> r.PostProcessAAQuality=6
r.TemporalAASharpness=0.9 --> r.TemporalAASharpness=0.5
r.ToneMapper.Sharpen=0.35 --> r.ToneMapper.Sharpen=0.2
r.ViewDistanceScale=1.0 --> r.ViewDistanceScale=1.3
r.StaticMeshLODDistanceScale=0.9 --> r.StaticMeshLODDistanceScale=1.2
foliage.LODDistanceScale=0.9 --> foliage.LODDistanceScale=1.5
r.SkeletalMeshLODRadiusScale=0.9 --> r.SkeletalMeshLODRadiusScale=1.0
r.Shadow.DistanceScale=0.9 --> r.Shadow.DistanceScale=1.1
r.Streaming.MipBias=0 --> r.Streaming.MipBias=0.5

UPDATE 1.5

I made the engine.ini compatible for TSW6. If there's ANY issues, please let me know. Thanks.

UPDATE 1.4

I'm so sorry for the delay of this update. This has been a stressful few days trying to solve the stuttering and the shadow issues, but I am HOPING that this is an improvement to the [Update 1.3] Engine File. I have decided to keep the [Update1.3] Engine File just in case this. If there's ANYTHING wrong with how the game looks etc with the new engine file please let me know.. but for now i'll be taking a break from this at the moment. Hope it suit's ya'lls needs. :)

Decreased the amount of stuttering.
Improved Graphics Quality.

ADDED

r.TextureStreaming = 1 (Enables basic texture streaming optimization, minimal performance cost)
r.Streaming.Boost = 1 (Prioritizes streaming performance for smoother asset loading)
r.Streaming.NumDynamicComponentsProcessedPerFrame = 5 (Controls dynamic component processing per frame)
r.Streaming.NumStaticComponentsRetained = 50 (Retains static components in memory for faster access)

CHANGED

r.Streaming.PoolSize = 2048 --> r.Streaming.PoolSize = 1536 (Reduced VRAM pool by 25% to prevent memory overflow on RTX 2050's 4GB limit)
r.Streaming.MaxTempMemoryAllowed = 384 --> r.Streaming.MaxTempMemoryAllowed = 256 (Lower temp memory usage to reduce stuttering during asset streaming)
r.Streaming.FramesForFullUpdate = 2 --> r.Streaming.FramesForFullUpdate = 4 (Slower streaming updates but less intensive on GPU)
r.RenderTargetPoolMin = 400 --> r.RenderTargetPoolMin = 300 (Reduced render target memory allocation for RTX 2050)
r.TemporalAACurrentFrameWeight = 0.08 --> r.TemporalAACurrentFrameWeight = 0.04 (Sharper temporal AA with less blur between frames)
r.TemporalAAFilterSize = 0.6 --> r.TemporalAAFilterSize = 0.4 (Tighter AA filtering for crisper edge definition)
r.Upscale.Softness = 0.12 --> r.Upscale.Softness = 0.08 (Less softness in upscaling for sharper image quality)
r.ToneMapper.Sharpen = 0.3 --> r.ToneMapper.Sharpen = 0.6 (Doubled post-process sharpening for maximum visual clarity)
r.ShadowQuality = 2 --> r.ShadowQuality = 3 (Higher shadow quality but balanced with reduced distance)
r.Shadow.DistanceScale = 4.0 --> r.Shadow.DistanceScale = 2.0 (Halved shadow distance to improve performance while maintaining quality)
r.ContactShadows = 0 --> r.ContactShadows = 1 (Re-enabled contact shadows for better visual fidelity)
r.LightMaxDrawDistanceScale = 40 --> r.LightMaxDrawDistanceScale = 15 (Reduced light draw distance to save GPU resources)
r.ViewDistanceScale = 0.95 --> r.ViewDistanceScale = 1.0 (Slight increase in overall view distance)
r.StaticMeshLODDistanceScale = 1.1 --> r.StaticMeshLODDistanceScale = 0.9 (Objects switch to lower detail sooner for performance)
r.SkeletalMeshLODBias = -1 --> r.SkeletalMeshLODBias = 0 (Standard character model quality instead of enhanced)
r.MaxAnisotropy = 8 --> r.MaxAnisotropy = 16 (Doubled texture filtering quality for sharper textures)
r.SSR.Quality = 1 --> r.SSR.Quality = 2 (Improved screen-space reflection quality)
s.LevelStreamingComponentsUnregistrationGranularity = 10 --> s.LevelStreamingComponentsUnregistrationGranularity = 8 (Faster level streaming cleanup)
s.LevelStreamingComponentsRegistrationGranularity = 30 --> s.LevelStreamingComponentsRegistrationGranularity = 8 (Much faster level streaming registration)
r.Streaming.NumStaticComponentsProcessedPerFrame = 200 --> r.Streaming.NumStaticComponentsProcessedPerFrame = 25 (Reduced per-frame processing to prevent frame drops)

REMOVED

r.UseShaderCaching = 1 (Advanced shader caching system removed for compatibility)
niagara.CreateShadersOnLoad = 1 (Niagara particle shader preloading removed)
r.D3D.ForceDXC = 1 (DirectX shader compiler forcing removed)
r.Shaders.FastMath = 0 (Shader math precision control removed)
r.TemporalAAQuality = 1 (Advanced temporal AA quality setting removed)
r.GTSyncType = 1 (GPU-CPU synchronization type removed)
r.FlushRHIThreadOnStreamingTextureLocks = 0 (RHI thread flushing control removed)
r.Streaming.FullyLoadUsedTextures = 0 (Full texture loading control removed)
r.Shadow.FilterMethod = 0 (Shadow filtering method removed)
r.Shadow.MaxResolution = 2048 (Shadow resolution cap removed)
r.Shadow.MaxCSMResolution = 1536 (Cascaded shadow map resolution removed)
r.Shadow.CSM.TransitionScale = 0.8 (CSM transition scaling removed)
r.Shadow.CSMDepthBias = 2 (CSM depth bias removed)
r.Shadow.FadeResolution = 128 (Shadow fade resolution removed)
r.Shadow.RadiusThreshold = 0.02 (Shadow radius threshold removed)
r.Shadow.PreShadowResolutionFactor = 1.5 (Pre-shadow resolution factor removed)
r.DistanceFieldShadowing = 0 (Distance field shadowing disabled setting removed)
r.Tonemapper.GrainQuantization = 0 (Film grain removal setting removed)
r.Tonemapper.Quality = 4 (Advanced tonemapper quality removed)
r.HighQualityLightMaps = 1 (High quality lightmap setting removed)
r.FastBlurThreshold = 2 (Fast blur threshold removed)
r.TextureStreaming.MipBias = 0 (Texture streaming mip bias removed)
TimeOfDaySystem.VolumetricCloud.GroundContribution = 0 (Volumetric cloud ground contribution removed)
TimeOfDaySystem.VolumetricCloudScale.BaseNoise = 0.8 (Cloud base noise scaling removed)
TimeOfDaySystem.SkyLightPollutionLuminance = 0.6 (Sky light pollution removed)
TimeOfDaySystem.GlobalEmissiveStrength = 2.2 (Global emissive strength removed)
TimeofDaySystem.LegacyEmissiveAdjustments.EmissiveMultNonLamp = 1700 (Legacy emissive adjustments removed)
ts2.dbg.SteamParticleSpawnMultiplier = 1.6 (Steam particle debugging removed)
ts2.dbg.SteamParticleSize = 0.6 (Steam particle size debugging removed)
ts2.passenger.SpawnLimitScalerFactor = 1 (Passenger spawn limit scaler removed)
ts2.passenger.ObjectPoolUseCount = 5 (Passenger object pool use count removed)
r.BlurGBuffer = -1 (G-buffer blur setting removed)

UPDATE 1.3

Will be Keeping the UPDATE 1.2 Engine File just in case this one is too much!
Added recommended In-Game settings + Nvidia Control Panel settings
A lot of additions/changes to this engineini for the best possible visual graphics without affecting performance.

ADDED

r.Streaming.Boost = 1 (Better texture loading/sharpening, minor performance cost)
r.AmbientOcclusionRadiusScale = 0.6 (Adds subtle AO detail with a smaller radius, slight performance cost)
r.ShaderPipelineCache.StartupMode = 3 (Reduces shader hitching on startup, improves stability)
r.ShaderPipelineCache.BackgroundBatchTime = 5 (Balances CPU/GPU load on startup, reduces stutter)
r.MeshStreaming = 1 (Loads detailed geometry dynamically, improved visuals, uses more memory)
r.TemporalAACurrentFrameWeight = 0.08 (Smoother anti-aliasing with less blur, reduces ghosting)
r.TemporalAASamples = 2 (Lower AA quality for performance balance)
r.Shadow.CSM.TransitionScale = 0.8 (Smoother shadow transitions, but less than 1.0, some popping artifacts may remain)
r.Shadow.CSMDepthBias = 2 (Controls shadow bias to reduce shadow acne on surfaces)
r.Shadow.RadiusThreshold = 0.02 (Sets minimum radius for shadows to appear, helps optimize shadow rendering)
r.Shadow.PreShadowResolutionFactor = 1.5 (Improves quality of pre-shadow maps for better shadow sharpness)
r.Shadow.DistanceScale = 4.0 (Extends maximum shadow draw distance, balancing quality and performance)
r.ContactShadows = 0 (Disables contact shadows for minor performance gain)
r.CapsuleShadows = 0 (Disables capsule shadows for minor performance gain)
r.AllowLandscapeShadows = 1 (Enables shadows on landscapes, improves environmental realism)
r.LightMaxDrawDistanceScale = 40 (Increases max distance lights affect objects, enhances visuals)
r.MinScreenRadiusForLights = 0.02 (Controls light draw distance based on screen size, performance tuning)
r.LightFunctionQuality = 2 (Improves quality of light functions/effects, moderate GPU cost)
r.ParticleLightQuality = 1 (Enables basic particle lighting, minor performance impact)
r.HighQualityLightMaps = 1 (Uses high-quality lightmaps, better visuals, higher VRAM use)
r.BloomQuality = 3 (High-quality bloom effect, adds visual flair at GPU cost)
r.SceneColorFringeQuality = 0 (Disables chromatic aberration, slight visual simplification)
r.Tonemapper.GrainQuantization = 0 (Disables grain quantization, cleaner image)
r.Tonemapper.Quality = 4 (Higher tonemapper quality for better color grading)
r.DepthOfFieldQuality = 0 (Disables depth of field effect, improves performance)
r.FastBlurThreshold = 2 (Performance optimization for blur effects)
r.AmbientOcclusionLevels = 1 (Sets AO quality level, moderate visual enhancement)
r.ViewDistanceScale = 0.95 (Slightly reduces view distance for performance)
r.StaticMeshLODDistanceScale = 1.1 (Slightly increases distance before LOD reduction on static meshes)
r.SkeletalMeshLODBias = -1 (Forces higher detail LOD on skeletal meshes, higher GPU cost)
r.MipMapLODBias = 0 (Ensures no texture detail loss via mipmap bias)
r.Streaming.MipBias = 0 (No mipmap bias for streaming textures, maintains sharpness)
r.TextureStreaming.MipBias = 0 (Same as above, prevents texture blur)
r.MaxAnisotropy = 8 (Sharper textures on angled surfaces, mild GPU cost)
r.VolumetricClouds = 1 (Enables volumetric clouds for better skies, performance cost)
TimeOfDaySystem.VolumetricCloud.Density = 0.15 (Sets cloud density, visual detail)
TimeOfDaySystem.VolumetricCloud.LightScattering = 0.1 (Light scattering effect in clouds)
TimeOfDaySystem.VolumetricCloud.GroundContribution = 0 (Disables ground reflection on clouds)
TimeOfDaySystem.VolumetricCloudScale.BaseNoise = 0.8 (Cloud noise scale for detail)
TimeOfDaySystem.SkyLightPollutionLuminance = 0.6 (Simulates light pollution effect on skylight)
TimeOfDaySystem.BloomIntensity = 0.1 (Light bloom intensity)
TimeOfDaySystem.GlobalEmissiveStrength = 2.2 (Boosts global emissive light strength)
TimeOfDaySystem.SunIntensity = 40000 (Sun light intensity)
TimeOfDaySystem.StarIntensity = 60 (Star light intensity)
TimeOfDaySystem.MoonIntensity = 6 (Moon light intensity)
TimeOfDaySystem.AutoExposure.ExposureBias = -0.6 (Exposure bias for auto exposure)
TimeOfDaySystem.AutoExposure.MinBrightness = 3.6 (Minimum auto exposure brightness)
TimeOfDaySystem.AutoExposure.SpeedUp = 10 (Speed of exposure increasing)
TimeOfDaySystem.AutoExposure.SpeedDown = 5 (Speed of exposure decreasing)
TimeofDaySystem.LegacyEmissiveAdjustments.EmissiveMultNonLamp = 1700 (Legacy emissive multiplier for non-lamp lights)
s.ForceGCAfterLevelStreamedOut = 0 (Disables forced garbage collection after streaming, performance tuning)
s.ContinuouslyIncrementalGCWhileLevelsPendingPurge = 0 (Disables continuous GC while unloading levels)
s.LevelStreamingComponentsUnregistrationGranularity = 10 (Fine-grained unregistration for streamed components)
s.LevelStreamingComponentsRegistrationGranularity = 30 (Fine-grained registration for streamed components)
r.Streaming.NumStaticComponentsProcessedPerFrame = 200 (Controls streaming workload per frame)
gc.TimeBetweenPurgingPendingKillObjects = 200 (Garbage collection timing)
ts2.dbg.SteamParticleSpawnMultiplier = 1.6 (Increases steam particle spawn for visual effect)
ts2.dbg.SteamParticleSize = 0.6 (Adjusts steam particle size)
ts2.passenger.DensityScale = 0.3 (Passenger density control)
ts2.passenger.DensityScaleNew = 0.3 (New passenger density control)
ts2.passenger.MaxPlatformPassengers = 3 (Limits max passengers on platform)
ts2.passenger.SpawnLimitScalerFactor = 1 (Scaling for passenger spawn limits)
ts2.passenger.UseLOD = 1 (Enables LOD for passenger models)
ts2.passenger.ObjectPoolSize = 200 (Pool size for passenger objects)
ts2.passenger.ObjectPoolUseCount = 5 (Use count for object pool recycling)
r.PakFileCache = 1 (Enables pak file caching for faster loading)
r.BlurGBuffer = -1 (Disables G-buffer blur, improves performance)
r.LandscapeLOD0DistributionScale = 3 (Adjusts landscape LOD distribution for detail/performance balance)

CHANGED

r.Streaming.MaxTempMemoryAllowed = 512 --> r.Streaming.MaxTempMemoryAllowed = 384 (Reduced VRAM temp memory to lower stutter risk from big asset swaps.)
r.Streaming.FramesForFullUpdate = 1 --> r.Streaming.FramesForFullUpdate = 2 (Gives textures extra time to load — smoother streaming at minor responsiveness cost.)
r.TemporalAACurrentFrameWeight = 0.2 --> r.TemporalAACurrentFrameWeight = 0.08 (Keeps sharper image by relying more on previous frame data — less blur.)
r.TemporalAASamples = 4 --> r.TemporalAASamples = 2 (Fewer samples for less GPU cost — slight aliasing increase.)
r.ToneMapper.Sharpen = 0.6 --> r.ToneMapper.Sharpen = 0.3 (Reduced sharpening to avoid shimmering on fine patterns.)
r.Shadow.MaxCSMResolution = 2048 --> r.Shadow.MaxCSMResolution = 1536 (Slightly smaller sun shadow maps for better performance.)
r.Shadow.CSM.TransitionScale = 1.0 --> r.Shadow.CSM.TransitionScale = 0.8 (Smaller cascade transition range — fewer cascades drawn.)
r.Shadow.RadiusThreshold = 0.03 --> r.Shadow.RadiusThreshold = 0.02 (More small objects can cast shadows without big cost.)
r.ContactShadows = 1 --> r.ContactShadows = 0 (Removed small-object contact shadows to save GPU load.)
TimeOfDaySystem.VolumetricCloud.Density = 0.5 --> TimeOfDaySystem.VolumetricCloud.Density = 0.15 (Lower density for lighter volumetric clouds.)
TimeOfDaySystem.VolumetricCloud.LightScattering = 0.5 --> TimeOfDaySystem.VolumetricCloud.LightScattering = 0.1 (Reduced complex lighting inside clouds.)
r.ViewDistanceScale = 1.25 --> r.ViewDistanceScale = 0.95 (Shorter object draw distance to save CPU/GPU.)
r.StaticMeshLODDistanceScale = 1.0 --> r.StaticMeshLODDistanceScale = 1.1 (Slightly less aggressive LOD swap to keep objects sharper.)
r.SkeletalMeshLODBias = 0 --> r.SkeletalMeshLODBias = -1 (Increased detail on moving meshes.)
r.MaxAnisotropy = 16 --> r.MaxAnisotropy = 8 (Lower anisotropic filtering to save GPU bandwidth.)

UPDATE 1.2

Improves the graphics, roughly keeping the same FPS :)

Added

r.StreamingBoost = 1 (Better texture loading/sharpening, minor performance cost)
r.AmbientOcclusionRadiusScale = 1.0 (Adds subtle AO detail, slight performance cost)
r.ShaderPipelineCache.StartupMode = 3 (Reduces shader hitching on startup, improves stability)
r.ShaderPipelineCache.BackgroundBatchTime = 5 (Balances CPU/GPU load on startup, reduces stutter)
r.MeshStreaming = 1 (Loads detailed geometry dynamically, improved visuals, uses more memory)
r.TemporalAACurrentFrameWeight = 0.2 (Smoother anti-aliasing, slightly more blur, reduces ghosting)
r.TemporalAASamples = 4 (Higher AA quality at a performance cost)
r.Shadow.CSM.TransitionScale = 1.0 (Smoother shadow transitions, reduces popping artifacts)
r.Shadow.FadeResolution = 128 (Helps performance and smooth fading of shadows at distance)
r..ReflectionEnvironment = 1 (Better reflections, moderate GPU cost)
r.TonemapperGamma = 2.2 (More natural color output, no performance impact)
r.MipMapLODBias = 0 (Ensures full texture detail, uses more VRAM)
r.MaxAnisotropy = 8 (Sharper textures at slanted, mild GPU cost)
r.SSR.Quality = 1 (Adds reflections, moderate GPU cost)

Changed

r.ToneMapper.Sharpen = 0.3 --> r.ToneMapper.Sharpen = 0.6 (Sharper image, enhances details.)
r.Shadow.MaxResolution = 1024 --> r.Shadow.MaxResolution = 2048 (Much sharper shadows, high GPU cost)
r.Shadow.MaxCSMResolution = 1024 --> r.Shadow.MaxCSMResolution = 2048 (Improved directional shadow quality, high GPU cost)
r.ContactShadows = 0 --> r.ContactShadows = 1 (Adds realistic shadows at object contacts, moderate GPU cost)
r.BloomQuality = 1 --> r.BloomQuality = 3 (More natural glow effects, moderate performance impact)
r.AmbientOcclusionLevels = 0 --> r.AmbientOcclusionLevels = 1 (Adds shading realism, some performance hit)
sg.ShadingQuality = 1 --> sg.ShadingQuality = 2 (Better lighting and shading, moderate cost)
sg.EffectsQuality = 1 --> sg.EffectsQuality = 2 (Richer effects, some GPU/CPU cost)
sg.FoliageQuality = 0 --> sg.FoliageQuality = 2 (Denser, more detailed foliage, moderate cost)
sg.PostProcessQuality = 0 --> sg.PostProcessQuality = 1 (Adds mild effects like tone mapping, minor cost)
r.ViewDistanceScale = 1 --> r.ViewDistanceScale = 1.25 (Objects visible farther away, moderate performance cost)
r.TextureStreaming.MipBias = 1 --> r.TextureStreaming.MipBias = 0 (Sharper textures, higher VRAM use, small performance cost)
r.SkeletalMeshLODBias = 1 --> r.SkeletalMeshLODBias = 0 (Better model detail, possible slight performance hit)
r.StaticMeshLODDistanceScale = 1.25 --> r.StaticMeshLODDistanceScale = 1.15 (Slightly shorter LOD distance, balances detail and performance)

This may seem like it'll impact your performace, but when I have tested it out, on multiple different routes, i only lose about 2-3 fps. Sometimes even non! But if it feels like this is a bit TOO much, I will keep the original Engine.ini file so you can go back to it :D!!

UPDATE 1.1

r.Streaming.FullyLoadUsedTextures = 1 --> r.Streaming.FullyLoadUsedTextures = 0 (Less stutter and more efficient texture streaming)
r.CreateShadersOnLoad = 0 --> r.CreateShadersOnLoad =1 (Less stutter — shaders load during boot)
r.UseShaderPredraw = 0 --> r.UseShaderPredraw = 1 (Smoother transitions and fewer hitches)
r.ViewDistanceScale = 0.5 --> r.ViewDistanceScale = 1 (Distant scenery visible)
r.TextureStreaming.MipBias = 2 --> r.TextureStreaming.MipBias = 1 (Crisper texture detail)
r.SkeletalMeshLODBias = 2 --> r.SkeletalMeshLODBias = 1 (Higher-quality AI trains)
r.StaticMeshLODDistanceScale = 2.5 --> r.StaticMeshLODDistanceScale =1.25 (Better consistency in distant visuals)

Tags: engineini

Dependencies

Installation Instructions

YOU MUST ENABLE DX12 IF YOU WANT TO USE THIS .INI!!!!!

Download the .ini then go to:
Documents < My Games < TrainSimWorld5 < Saved < Config < WindowsNoEditor
and place the Engine.ini there. :)

Files

Comments

Avatar of JPlayz41
JPlayz41 8 Aug 2025

This mod is very helpful. I also use a similar PC/Gaming Laptop and the fps is normally quite low using Jetwash's mod. The only feedback I have is it can be a little stuttery in some areas. However, this could be a game issue, or Jetwash's lighting mod which could be causing conflicts with this.

Avatar of rayvawn
rayvawn 8 Aug 2025

Thank you so much for the feedback <3

Yeah the main issue i'm currently looking into is the lag spikes. I'm hoping to push an update by the end of the day, since currently I've found no solution to the problem.

Main Issues

  • Constant Lag Spikes
  • Lag spikes in external view of Cab
Avatar of JPlayz41
JPlayz41 12 Aug 2025

No problem. I have since removed this mod just to do a comparison compared to the main game, and I'm having some issues so I'm just trying to solve the issue now. It will go onto the loading screen, then won't do anything else so I'm a bit stuck :/

Yes it was mostly when I was outside of the cab on the fly-past camera in particular. Still it is a fairly good mod overall so keep it up. I'll definitely be keeping an eye on this mod if nothing else.

Avatar of JPlayz41
JPlayz41 12 Aug 2025

Update - The issue has been resolved. I needed to restore the original ini settings from before I used the mod and it's worked.

Avatar of rayvawn
rayvawn 12 Aug 2025

Brilliant news.

I apologise for the late arrival of Update 1.4;

Every time Ive solved an issue, another issue popped up, and when i fix that problem, another issue came up. I have stressed myself out working on this engine.ini trying to make it perfect, but it's really proving difficult haha. The main issue is the stuttering... I dont know how long it's going to take to get an update out but dont expect one anytime soon, unless i miraculously fix the stuttering issue..

Avatar of JPlayz41
JPlayz41 13 Aug 2025

No problem. I have considered modding myself, but using Microsoft for TSW doesn't help as the editor isn't available. But I know it's tricky to use so don't stress.

Yeah that makes sense. Although seeing as this is your first mod you've done well.

Avatar of rayvawn
rayvawn 13 Aug 2025

Thanks, I appreciate it <3

Avatar of JPlayz41
JPlayz41 26 Sept 2025

Congrats on your latest update. I'll have to give this another try when I get back to TSW. I'm on a break at the moment, but I'll make sure to give you feedback should I have any :)

JPlayz

Avatar of rayvawn
rayvawn 26 Sept 2025

Thanks a lot, JPlayz!

Hope your break's going well. :)

Avatar of JPlayz41
JPlayz41 26 Sept 2025

No problem at all. I'm glad to see you're progressing.

Thank you. Hope all is well on your end :)

Avatar of blainecountysherrif4
blainecountysherrif4 26 Sept 2025

The .ini file dropped my FPS by about 10 (averaging 40-45 to averaging around 30 or sometimes 25) Is it because of the shaders needing to load on the map? I will add, though, that it DID stop the stuttering, I simply lost some FPS. By the way, I'm running 16GB of DDR4, a 12100f and a 1660.

Avatar of rayvawn
rayvawn 27 Sept 2025

Ah, which .ini file did you use please, so i can have a look.

Avatar of blainecountysherrif4
blainecountysherrif4 27 Sept 2025

I used the 1.5 update and I also used all of the settings you recommended.

Avatar of blainecountysherrif4
blainecountysherrif4 27 Sept 2025

Follow up -- I was testing the Frankfurt S-Bahn route which got me the FPS I reported... however I'm playing SEHS and I'm getting WAY better FPS than I ever did before (averaging 55-60). Could it be on a map-to-map basis?

Avatar of rayvawn
rayvawn 27 Sept 2025

Apologies for the late response.

I might see the issue;

Frankfurt S-Bahn contains a lot of AI traffic. For some reason, AI tanks a lot of the FPS, and i'm yet to find a proper solution for it. I think it may be the "-dx12" that's causing the issue (for me personally.), when removing it from the steam parameter, it's a LOT better.

I'll see what I can do and let you know if i've found a solution to the problem or not.

Avatar of Anson Rail Studios
Anson Rail Studios 28 Sept 2025

Hi,

This is really good! I am not using Jet Wash's LOD mod at the minute but this really improves my performance even after setting every graphic setting to highest. I am getting around 55 fps in slower, less busy routes, and around 35 - 40 fps in higher speed, busier. I do notice some stutters but no more than before. My specs are pretty poor as well. I (think I) have a GeForce 1660 GTX, an Intel Core i7 with around 32GB.

Thanks again,
Anson

Avatar of rayvawn
rayvawn 29 Sept 2025

I much appreciate the feedback!

Getting rid of the stutter's entirely is not possible, due to the shaders compiling. It's a common issue in all UE games so yes, you will notice some stuttering even with this engine.ini, but at it's absolute minimum.

Avatar of Anson Rail Studios
Anson Rail Studios 11 Oct 2025

You are very welcome! I have made some changes to the .ini myself, trying to improve the anti-aliasing. I was going to upload the changes, but I felt it would have been too similar to yours :)

Avatar of rayvawn
rayvawn 14 Oct 2025

I’ve made changes to the anti-aliasing in my recent .ini which ill post sometime today but feel free to upload the changes haha. :)

Avatar of Pingo (;
Pingo (; 1 Feb 2026

Ummm... How screwed am I for forgetting to back up my .INI file?

Add a comment

If you wish to leave a comment, please log in .