Rendering performance trashes over time and gets restored by restarting openmw
I'm not sure what's happening but after a while you play the rendering performance starts to slow down up to the point where it's basically a slideshow. This is especially noticeable in certain towns like Sadrith Mora, but even Seyda Seen. Performance is quite bad even under normal circumstances (15-30 fps in the worse spots) but when some time had passed you can measure it in seconds per frame instead of frames per seconds. When it happens looking in most directions is a slideshow, but you can rotate the camera until you reach a certain angle where it suddenly jumps to 30+ fps.
It's an heavily modded Total Overhaul 5.3+ running on a Raptor CS Talos 2 ppc64le with an IBM Power 9 8-cores/64-threads (64GB of ram) with an AMD RX 570 with Mesa git master. Distro is Gentoo Linux. I'm also using openmw git master (d1c602ce). I'm pretty sure the main bottleneck is the cpu, but it's a mistery why the performance gets worse after some time and gets restored by restarting openmw.
Settings:
[Shaders]
lighting method = shaders
antialias alpha test = false
apply lighting to environment maps = true
auto use object normal maps = true
auto use object specular maps = true
auto use terrain normal maps = true
auto use terrain specular maps = true
radial fog = true
soft particles = true
max lights = 64
maximum light distance = 16384
force shaders = true
clamp lighting = false
[Sound]
buffer cache max = 64
device =
hrtf =
[Game]
NPCs avoid collisions = true
always allow stealing from knocked out actors = true
barter disposition change is permanent = true
can loot during death animation = false
followers attack on sight = true
only appropriate ammunition bypasses resistance = true
rebalance soul gem values = true
strength influences hand to hand = 2
swim upward correction = true
uncapped damage fatigue = true
prevent merchant equipping = true
show effect duration = true
show enchant chance = true
show melee info = true
show owned = 3
show projectile damage = true
smooth movement = true
trainers training skills based on base skill = true
turn to movement direction = true
use magic item animations = true
best attack = true
shield sheathing = true
use additional anim sources = true
weapon sheathing = true
[Input]
toggle sneak = true
always run = true
[Physics]
async num threads = 2
[Shadows]
actor shadows = true
maximum shadow map distance = 4096
enable shadows = true
object shadows = true
player shadows = true
terrain shadows = true
enable indoor shadows = true
[Video]
fullscreen = true
resolution x = 2560
resolution y = 1440
window border = false
screen = 0
antialiasing = 0
window mode = 1
[Camera]
head bobbing = true
view over shoulder = true
viewing distance = 57344
preview if stand still = true
zoom out when move coef = 60
[GUI]
color topic enable = true
subtitles = true
stretch menu background = true
scaling factor = 1.5
[General]
notify on saved screenshot = true
anisotropy = 16
texture mipmap = linear
[Map]
allow zooming = true
global = false
[Water]
rain ripple detail = 2
reflection detail = 2
refraction = true
rtt size = 2048
shader = true
[Terrain]
distant terrain = true
object paging = true
object paging active grid = true
object paging min size = 0.043
[Saves]
character = name
max quicksaves = 15
timeplayed = true
[Fog]
sky blending start = 0.8
[Groundcover]
enabled = true
density = 1.0
min chunk size = 1.0
rendering distance = 12288.0
stomp mode = 2
stomp intensity = 2
[Post Processing]
enabled = true
chain = underwater_interior_effects,underwater_effects,ssao_hq,clouds,godrays,hdr,bloomlinear,fxaa
[Lua]
memory limit = 4294967296
Before restart:
After restart: