Low FPS - CPU Bottleneck

General discussion regarding the OpenMW project.
For technical support, please use the Support subforum.
Post Reply
ThomasEngine
Posts: 1
Joined: 29 Apr 2021, 18:17

Low FPS - CPU Bottleneck

Post by ThomasEngine »

Is there any way to get OpenMW to distribute the load on more CPU threads? With mods activated I am getting very low FPS exterior. Even with the lowest render distance I am at only 20 FPS, if I increase it to maximum render distance it drops to 8-10 FPS. And that is only at the beginning while staring on the census office.



Looking at the resource monitor, my graphics card is at 40-50% load while the CPU as a whole is at 20% load. But if I look more closely it is always one single core at 100% load while the others do basically nothing. Sure, this is because Morrowind is such an old game. But is there a way to enable/implement multi-thread usage?
CMAugust
Posts: 285
Joined: 10 Jan 2016, 00:13

Re: Low FPS - CPU Bottleneck

Post by CMAugust »

OpenMW uses multithreading for many things, but the draw operation is necessarily kept to a single thread. Morrowind's old age works against it; it is horrifically draw-bottlenecked compared to modern games, due to how its assets and world were built. Some mods make this even worse by tripling the number of objects in a given scene. Hit F3 three times in game to bring up the engine profiler: your maxed-out CPU thread is almost certainly the draw thread. Some mods can help by replacing expensive vanilla meshes with mostly identical, but much cheaper meshes. Otherwise, there are many ways you can tweak OpenMW to make rendering cheaper for these expensive scenes.

You can try any or all of these to improve your performance:
- make sure active grid object paging is enabled
- download Morrowind Optimisation Patch and Project Atlas
- lower max shadow distance
- reduce actor processing range
- reduce water reflection detail
- disable water refraction
- lower fov
- increase object paging min size in settings.cfg
- remove exterior mods that add too many objects

You should see a marked fps improvement the more of these you tweak.
User avatar
psi29a
Posts: 5356
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: Low FPS - CPU Bottleneck

Post by psi29a »

Some of the features mentioned are not in the 0.46 release but in the upcoming 0.47 release which might help you if you care to run a nightly.

Keep in mind, if you are running 0.46... it is highly inefficient if you enable ECLD to get distant statics, which mods will cripple your frame rate even further. So best not to do that and use (or wait for) 0.47 to be released if you're aiming for distant terrain and objects.

As CMAugust said though, the draw thread is important for all OpenGL applications (games)... all applications have 1 draw thread that feeds the GPU things to work on. The trick is to optimise this... slow 'feeding' of the GPU data that isn't modern GPU friendly. Today's assets are created with this in mind and have a triangle budget in a scene so they can have awesome graphics but low triangle counts. Morrowind... is not optimised at all, so we're at the mercy of their assets, huge triangle count and low quality textures.

We're busy with work-arounds though... like object paging / active grid (in 0.47). It's not a panacea , but it helps.
Post Reply