What work has DTG done to TSW 5 in recent months, specifically to optimise and improve performance? I can see a lot of talk about such efforts to improve the player experience, but don’t actually know what they’ve done.
Although the exact code changes are no doubt a trade secret, the last big update did buff things a bit and they declared that was the first of several ongoing patches to address performance. Where I was having to drop WCMLoS down to 1080p and use Lossless Scaling to get decent performance, I can now run it reasonably (though by no means perfectly) at 1440p on my old potato PC. Of course whether TSW5 sees any more improvements or it all gets rolled forward into TSW6, we will see in due course.
On the last roadmap, there was a core optimization update for TSW5 mentioned, but also one for TSW6. Optimization updates are always welcome, however I prefer they do the optimization before they release a new game again, especially after how TSW5 is released with performance updates almost at the end of it's lifetime cycle.
The latest optimization update seemed to have improved performance a bit, but still not enough IMO. And it took almost a year before we got that optimization update...
TSW's performance updates are usually difficult to detect. That's true. But you'll mainly notice it in a smoother FPS rate. Console players benefit the most from this. I'm a loyal PS fan myself, and I've noticed quite a few improvements on the PS5 since last year. The most important thing is that the limited RAM is being used better and overloading is being avoided. This is a major cause of crashes on consoles. For one thing, the LODs are supposed to have been optimized so that transitions also look smoother. An example of poor console optimization was on HBK or DRA: the 218 with long passenger trains (Dostos or N-cars) was displayed at a lower LOD level on the PS5 during exterior camera pans, but since the end of last year, this hasn't been an issue anymore. I even found old screenshots for that. Another trick to save RAM is to fade out passengers on the train more quickly. As long as you're looking directly at the train with the camera, you can see them, but if the train moves away from the camera, they disappear completely. I haven't noticed any other tricks so far.
I noticed that WCMLoS had started performing better but since installing the 86/2 add-on I’ve noticed some quite big performance drops again. Especially around Preston, Lancaster, Carnforth and Carlisle. And especially if there’s an 86 train around. I’m wondering if the new 86 and coaches are quite processing intensive? I’m tempted to remove the add-on to see if the performance gets better again to try and confirm.
I noticed a few heavy outright pauses, especially just north of Penrith where I also got a UE4 CTD. However as I had DISM running in the background I gave that one the benefit of the doubt.
Noticed slight drops of fps, these models are more complex However, not enough to cause any issues or crashes for me. I did however put the 86 and 87 into a scenario I was writing for Manchester Airport Commuter and that dropped well into the red when I arrived at Stockport!
Sorry but as said in the roadmap the next optimisation patch is coming toTSW6 not TSW5. The next major improvements towards performance will come alongside the release of Train Sim World 6 and beyond, which you will be able to access at no additional cost via the Free Starter Pack, and our teams are looking at addressing blurry textures and visual quality as a key focus, now that core stability has improved.
The specifics get super technical. It's all firmly in the weeds. We identified a memory leak in Unreal itself, and found Epic had fixed it in a later version - so we brought back to ours. We identified some unused network nodes being created in track network objects and removed them. We identified an unused table in some component references, and removed it. We changed initialisation of some components so they would "lazy" initialise, meaning only when they're actually needed. We adjusted some layer streaming distances on some platforms. We changed now allocation and maintenance of memory worked on Landscape Texture Atlas (shadows) We added some extra memory tracking diagnostics. We refined how some track data was stored after identitying some duplication. We identified some textures that are now clamped to a maximum size to help reduce the memory they consume. We also made some specific improvements to the SBahn route itself such as controlling how it manages memory a bit better and updating landscape collision to be more memory efficient. I think those were the bulk of it. In our tests, this represented a saving of around 400-500 megabytes of memory in many of the routes we tested it on, but also it simply gave it less to do in the first place which is why there are some framerate / smoothness improvements being seen too. These fixes mostly affect general memory usage, and don't have much impact on how the Texture Pool is used, which is why blurriness is not improved much, but IS why crashing is reduced and other stability issues are improved. Note that I have grossly oversimplified the specifics, as otherwise unless you're a seasoned unreal developer and in many cases a seasoned TSW developer it'd be buzzword and TLA bingo and largely be uninterpretable. Hope that helps. Matt.
Above is what we had found for the last fix that went out, to be clear, you have all those improvements already. Matt.
Thanks for your post Matt. And thanks for putting these three words at the end of it as that was the only bit I actually understood.
Thanks for the clarification, always interesting to read some more info about the stuff hapening in the background. The memory leak is so epic, so are the improvements made to the game
I have read Matt’s post and in my head were the sounds that played when an abstract picture was drawn on screen in Rainbow. I fully understand everything, honest.
Interesting, and improvements to general memory usage have to be a good thing. But I've been playing S-Bahn and the HSP46 recently and I realize, not for the first time, that I honestly have virtually zero issues running the game. No crashes, solid FPS and everything on high or ultra, even though my machine would now be considered middle of the road. I have huge amounts of memory, so I doubt I would notice 400-500 megabytes My beefs with TSW, as they have been for the last 2 or 3 years, are with some core issues like the paltry save feature, which is far behind even MSTS and other features that don't work well like the worthless eye adaptation, the too predictable dynamic weather and the erratic behavior of NPCs, none of which I expect will change anytime soon. And of course, my personal elephant in the room, the terrible content selection, which, apart from the two dlc I mentioned, has kept me from purchasing new routes and locos for quite some time. That is not likely to change either. So, while I understand the problems players, especially those on consoles, have with performance and they will appreciate the memory improvements, it's disheartening to me that there's rarely if ever any mention of the other things I draw attention to. I guess I have to assume that nothing is being done in those areas.
Unreal Engine 5.6 with DLSS and Frame Generation is needed Matt to remove the flickering textures for Objects as wel or train Containers
They've already explained over and over again what this would mean. Do you even know how to read, besides posting useless posts?
Unreal Engine 4 is not the Future, One day they Need to optimize all routes for UE5 to Change everything
UE5 is not some magical elixir that will make TSW better. They still haven't gotten the hang of UE4. Upgrading to UE5 is completely unnecessary
Thank you for taking the time to answer my thread. I don’t pretend to know what any of it means, but given that the end result is having a solid impact on the play experience, it’s nice to know that DTG has taken time to refine the way the game runs. All credit to the team. Hopefully we’ll continue to see little tweaks here and there to make the experience even better going forward
Quick question was it RAM based memory leak, or VRAM based as on occasion ive had my install consume about 112gb of RAM (not common and cant seem to make it repeatable) i havent reported as i run a heavily modded install of TSW so no point pointing fingers when it could well be me thats the cause, also seems to completely nuke windows 11 mem management engine when it happens causing a partial lock up that can turn into a full lock up if you not fast enough to force close TSW, but on a plus note since that last opti patch, TSW hasnt run as smooth and stutter free for a long time, I'm now sat a mostly locked 60fps at 1440p and between 70 to 100% GPU usage regardless of route (using jetwashes ultra preset in his mod) also getting better core usage on my 5900x before it was high GPU low CPU now it seems to be about 10 to 20% higher CPU usage and lower GPU usage.
The optimisations were all standard RAM as I recall. Mods could easily cause problems with RAM as there might be mismatches or errors etc - but if anyone can repro that kind of thing with a mod-free install i'd be very keen to get more data on that. Sounds like something you've got there is causing a tight cycle which ends up consuming ram in a loop though, not something we've seen. Glad the update has improved things for you though! Matt.
the only 2 common instances in the crashes i have experienced crashes are sessions over 4 to 5hrs, including idle time spotting (insert station of choice) and then hopping on a service as a passenger or driver, i also run a triple monitor setup and usually have Firefox open with maybe 15 to 20 tabs, commonly playing a YouTube video, TSW usually uses between 2 to 8gb RAM Firefox usually around 2gb RAM, but since i upgraded to 128gb RAM TSW for some reason uses less RAM than when i only had 32gb LOL, ill try over the next few days to see if i can get it to trigger again, as i have some spare time this week which i plan on sinking into the 86 . oh on a side not not sure if its been said but theres a bug on the mk2 brake van guards seat, well for me at least, once you sit and then try to leave u get stuck standing on the seat, i have to drop the window in the guards room and use the look out window prompt to get free, otherwise you end stuck there , or end up with your head stuck through the carriage roof LOL, makes for a good view tho
No easy answer to that question to be honest - when you take something out of ram, something else fills it, and the memory profile changes over time as you play the game depending on what you're doing. There's also a memory management behaviour in Unreal that means when things load, they spike ram heavily before they are cleared up - so as you drive you find memory spikes for probably less than a frame and then clears up - this can mean that if you had a "free memory" counter, it might show you have a gig of free ram and STILL crash "out of memory" because of that momentary spike if it needed to load something chunky - which could happen for example coming in to somewhere like frankfurt where a couple of massive heavy scenery tiles get loaded, lots of scenery models and a bunch of different train models suddenly come into view-range and all their assets come stomping in to memory. What we know for sure is when we benchmarked similar moments we saw in the order of 400-500 meg less being used at similar moments compared to before the work was done. Matt.
Thanks for the update Matt..... I had noticed that WCMLoS especially was performing a lot better around the stations along the route compared to how it originally ran. I have noticed that since getting the 86/2 pack the route has gone back to getting big fps drops around the station areas again like it did originally so I'm assuming the 86 and mk2f models are the cause. Is this new pack something that requires some form of optimisation too?
are you on console mate? because I've not noticed any performance change on PC, only when there are more locos in stations due to the extra services that is
No PC.... The 86 and 2f coaches just replace the 87 and 2a coaches rather than creating lots of extra services that weren't there before.
i think theres meant to be like an extra 30 or so services, but dont ask me where i got that from I've slept since then LOL
great in sight matt am seeing differnces in how wcmls runs on gen 8 great work just need dresdan sorted