I have a Core i9 CPU and an RTX 3080 GPU running at 4k, so when the frame rate started dipping into the teens, I figured the game could benefit from a little optimization!
I have designed this mod to give a noticeable performance boost “out of the box”, with minimal effect on visual quality. There are some tuning parameters included for those who want to delve a bit more into the details.
The issue with TPF2 seems to boil down to “rendering too much” or basically “rendering stuff you can’t see”. There are controls for “level of detail” that define what models are rendered (or not rendered at all) at certain distances from the viewer’s camera perspective. The low-detail models are used at greater distances.
On big and busy maps, I think too much is being rendered that you can’t actually see. The work effort increases exponentially with render distances, as for a given density of objects, the number of objects in the view area is likely to grow with the square of the radius.
The tuning parameters are:
“Lod render distance scale factor”
This will scale down the render distances by the given fraction, affecting both when the transition between high and low detail models occurs and when the models are not rendered at all. This defaults to 0.5 meaning the distances are effectively halved.
“Threshold distance for lod scaling”
The distance (in in-game meters) away from the camera where the lod render scale is applied. This defaults to 1000m, which means the quality of the models near the camera is unaffected. This parameter is a key difference between using this mod and simply reducing the graphics settings (which does noticeably affect the quality).
“Absolute maximum render distance”
This distance (in in-game meters) is a cutoff, past which nothing is rendered. I had noticed that models could be rendered as far as 10km away or more, and for practical purposes, these are not visible anyway to the user. As the number of models scales exponentially with this distance, reducing it can have dramatic performance benefits without impacting the game experience. This defaults to, 5000m. Even running at 4k I do not notice a visual difference with this setting, but it does cut the number of models rendered.
“Turn on custom presets”
This is a switch that toggles a series of additional tuning parameters I have made – defaults to on. This is where I have found that some particular models are consuming disproportionately more resources (bridges for example) and so their render distances are more aggressively optimized.