FPS Low When It Shouldn't Be (Unplayable Levels)

General discussion regarding the OpenMW project.
For technical support, please use the Support subforum.
CraigShaw
Posts: 7
Joined: 27 Sep 2017, 09:11

FPS Low When It Shouldn't Be (Unplayable Levels)

Post by CraigShaw »

Hi, All

I apologise if this has been asked before. I tried finding a solution but can't seem to - so am posting here.

-------------------

My Specs (Don't know what is needed):

OS - OpenSuSE Leap 42.1 with KDE Plasma 5.5.5
OS TYPE - 64bit
LINUX KERNEL - 4.1.39-56-default
QT VERSION - 5.5.1
PROCESSOR - 4x Intel(R) Core(TM) i3-7100 CPU @ 3.90GHz
MEMORY - 4GB (3.8 Reported by System)

SWAP PARTITION - 15GB
DISC CACHE - 2GB (When Idle)

GRAPHICS CARD - NVidia GeForce GT 710
MEMORY - 1GB
DRIVER - Propriety Nvidia
DRIVER VERSION - 375.66
OPENGL - Set for High Performance (Also: Sync to VBlank / Allow Flipping / Use Conformant Texture Clamping)

-------------------

OpenMW version 0.42. Using various mods and texture replacers. Highest resolution for textures is 1024x1024. (I painstakingly change every single one from 2048x2048 to 1024x1024).

When I run Morrowind (win32) through Wine with the Morrowind Code Patch, FPS Optimizer and 4GB Patch it runs perfectly smooth without any stuttering or drops in FPS. (I did have some constant crashing before applying the 4GB patch which from what I can tell was due to the hi-res textures - but after applying the 4GB patch I had no further problems - just the occasional Crash to Desktop about once every four hours or so.)

My main reason for switching to OpenMW was the crashing issue and the newer engine. I do get weird errors like shiny textures (which I know how to fix and slowly do so as I find them). I also get missing textures that show up as a solid magenta pink (like some clothing on the Children of Morrowind kids and Laeia's Dual Weapons in the Balmora Fighter's Guild - which I don't know how to fix and think it is because of the textures being bmp but am not sure.)

Anyway, these aren't my issue. My issue is that indoors I generally get 30 FPS and outdoors I get 27 - 29 FPS and this can drop to about 2 FPS in cities and towns.

I don't get why this is happening. I can run under emulation with Wine (which should be slower as it's both emulation (not natively run) and a 32bit program on 64bit OS (though I'm not sure how much of an impact that would have) with shaders on.

I don't mind having to drop a mod here and there or having to go through them and figure out what is wrong to fix them, but the low FPS is just too much to be worth the effort.

Any one have any idea what is wrong? Should I use the 32bit OpenMW binary? (Though I don't see how that would actually help anything.) I considered trying to run OpenMW Windows version under Wine to see if I get the same FPS drop.

Is OpenMw poorly optimized?

Help please...
User avatar
akortunov
Posts: 899
Joined: 13 Mar 2017, 13:49
Location: Samara, Russian Federation

Re: FPS Low When It Shouldn't Be (Unplayable Levels)

Post by akortunov »

It is hard to tell what is going wrong: you did not provide us your OpenMW settings file (settings.cfg).
Also you can use a profilier (hit F3 twice). I guess, a Draw and GPU cause slowdown.
NVidia GeForce GT 710
It is a quite slow GPU. Do you have a water shader enabled, or Distant Terrain? You will have to disable them.
Also you can try to disable your HD-textures.
CraigShaw
Posts: 7
Joined: 27 Sep 2017, 09:11

Re: FPS Low When It Shouldn't Be (Unplayable Levels)

Post by CraigShaw »

akortunov wrote: 27 Sep 2017, 10:02 It is hard to tell what is going wrong: you did not provide us your OpenMW settings file (settings.cfg).
The only setting I changed in the settings file are as follows:
antialiasing = 0
framerate limit = 30.0 (I did this one in the hopes that it would help somehow - it didn't)

I'm using neither distant terrain nor water shaders. Running at 800x600 (The lowest setting I can bare ).
akortunov wrote: 27 Sep 2017, 10:02 Also you can use a profilier (hit F3 twice). I guess, a Draw and GPU cause slowdown.
I ran the profiler both indoor, outdoors (wilderness), outdoors (within cities) and watched the outputs for a while and noted down the average:
Note: Done with FPS still limited to 30.

INDOORS
FPS: 29.9
SCRIPT: 0.15
MECHANICS: 0.3
PHYSICS: 2.2
EVENT: 0.01
UPDATE: 0.6
CULL: 4.4
DRAW: 2.2
GPU: 11.0

OUTDOORS: WILDERNESS
FPS: 29.9
SCRIPT: 0.2
MECHANICS: 0.49
PHYSICS: 1.99
EVENT: 0.01
UPDATE: 1.35
CULL: 2.2
DRAW: 1.35
GPU: 15.37

OUTDOORS: WITHIN CITY
FPS: 1.91
SCRIPT: 0.87
MECHANICS: 2.8
PHYSICS: 525
EVENT: 0.01
UPDATE: 3.19
CULL: 2.75
DRAW: 14.15
GPU: 60.49
akortunov wrote: 27 Sep 2017, 10:02
NVidia GeForce GT 710
It is a quite slow GPU. Do you have a water shader enabled, or Distant Terrain? You will have to disable them.
Also you can try to disable your HD-textures.
I know it isn't the best GPU but it is strong enough to run everything I play (native or through wine) without any slow down at all. So I don't think it is GPU related.

As stated above, I'm neither using distant terrain nor water shaders. I checked and I also get the same slowdown when using vanilla textures.

I really find this strange as like I said I can run all my games through wine (when not able to run natively) without any slowdown. Morrowind runs under wine with the HD textures no problem. (And I haven't got FPS limited on Morrowind in wine.)
User avatar
AnyOldName3
Posts: 2673
Joined: 26 Nov 2015, 03:25

Re: FPS Low When It Shouldn't Be (Unplayable Levels)

Post by AnyOldName3 »

I have a couple of points.

Firstly, Wine isn't an emulator and the recursive backronym (Wine Is Not an Emulator) even explicitly says that. It won't be quite as fast as running applications actually under Windows, as DirectX calls will have to be tweaked to become equivalent OpenGL calls, but the application code itself is run natively, so you won't get the massive performance hit of actual emulation or even the negligible hit of virtualisation.

Your profiler results say physics in cities is taking over 500ms, which would completely explain the low framerate. This is completely expected, as collision between actors and even slightly complex meshes is the one thing that's properly faster in the original engine. It's capable of bringing the best PCs problems.

Finally, the integrated graphics on that CPU should be a bit faster than a GT 710. For all intents and purposes, the GT 710 shouldn't be considered more than some monitor ports as the rest of it is not good.
User avatar
lysol
Posts: 1513
Joined: 26 Mar 2013, 01:48
Location: Sweden

Re: FPS Low When It Shouldn't Be (Unplayable Levels)

Post by lysol »

akortunov wrote: 27 Sep 2017, 10:02 It is a quite slow GPU. Do you have a water shader enabled, or Distant Terrain? You will have to disable them.
Also you can try to disable your HD-textures.
Indeed, but considering I run OpenMW on a passively cooled core i5 previous gen without a separate GPU with normal maps, distant land with a bit higher viewing distance than normal, water shaders and 1440p resolution with around 25-30 fps, this shouldn't be the issue really...

EDIT:
AnyOldName3 wrote: 27 Sep 2017, 11:23 Finally, the integrated graphics on that CPU should be a bit faster than a GT 710. For all intents and purposes, the GT 710 shouldn't be considered more than some monitor ports as the rest of it is not good.
Well this might be it then.
CraigShaw
Posts: 7
Joined: 27 Sep 2017, 09:11

Re: FPS Low When It Shouldn't Be (Unplayable Levels)

Post by CraigShaw »

AnyOldName3 wrote: 27 Sep 2017, 11:23 I have a couple of points.

Firstly, Wine isn't an emulator and the recursive backronym (Wine Is Not an Emulator) even explicitly says that. It won't be quite as fast as running applications actually under Windows, as DirectX calls will have to be tweaked to become equivalent OpenGL calls, but the application code itself is run natively, so you won't get the massive performance hit of actual emulation or even the negligible hit of virtualisation.
I know this, it's just easier to call Wine an emulator than try explain it. Also, in most cases a native Linux binary does run faster than through Wine.
AnyOldName3 wrote: 27 Sep 2017, 11:23 Your profiler results say physics in cities is taking over 500ms, which would completely explain the low framerate. This is completely expected, as collision between actors and even slightly complex meshes is the one thing that's properly faster in the original engine. It's capable of bringing the best PCs problems.
Uh, pardon my asking, but why is it faster in the original engine? Is this something that would be addressed? I don't actually mind sticking with Wine but would prefer to use OpenMW as when the four hour crash hits and I've been forgetting to quick save, sucks is a massive understatement... (And keeping mods separate in folders is extremely helpful!)
AnyOldName3 wrote: 27 Sep 2017, 11:23 Finally, the integrated graphics on that CPU should be a bit faster than a GT 710. For all intents and purposes, the GT 710 shouldn't be considered more than some monitor ports as the rest of it is not good.
In my experience I find Intel Linux drivers never work for anything other than basic desktop and can never get acceleration working on them. Hence why I got the GT 710 (which meets my gaming needs). OpenMW is the first "game" I've had this problem with - which is why it's puzzling me. I've even tried disabling various mods without too much luck.
User avatar
psi29a
Posts: 5360
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: FPS Low When It Shouldn't Be (Unplayable Levels)

Post by psi29a »

CraigShaw wrote: 27 Sep 2017, 11:43 Uh, pardon my asking, but why is it faster in the original engine? Is this something that would be addressed? I don't actually mind sticking with Wine but would prefer to use OpenMW as when the four hour crash hits and I've been forgetting to quick save, sucks is a massive understatement... (And keeping mods separate in folders is extremely helpful!)
Because we've been focused on adding features than on refactoring and optimizing. That will change in the near future, development in OpenMW isn't stagnant. ;)
User avatar
DestinedToDie
Posts: 1181
Joined: 29 Jun 2015, 09:08

Re: FPS Low When It Shouldn't Be (Unplayable Levels)

Post by DestinedToDie »

Do you perhaps have a model replacer mod? My suggestion is to try a completely fresh vanilla Morrowind installation so that we can rule out that the cause of this is due to some mod (back up your original modded folder). After that, if it is indeed a mod, we may try pinpointing which one it is.
CraigShaw
Posts: 7
Joined: 27 Sep 2017, 09:11

Re: FPS Low When It Shouldn't Be (Unplayable Levels)

Post by CraigShaw »

psi29a wrote: 27 Sep 2017, 11:51
CraigShaw wrote: 27 Sep 2017, 11:43 Uh, pardon my asking, but why is it faster in the original engine? Is this something that would be addressed? I don't actually mind sticking with Wine but would prefer to use OpenMW as when the four hour crash hits and I've been forgetting to quick save, sucks is a massive understatement... (And keeping mods separate in folders is extremely helpful!)
Because we've been focused on adding features than on refactoring and optimizing. That will change in the near future, development in OpenMW isn't stagnant. ;)
Okay, cool. I Guess I'll use Wine in the meantime and wait for future releases in the hope that I'll be able to use OpenMW as a replacement. :D

I take it optimization will only probably kick it at 1.0?
CraigShaw
Posts: 7
Joined: 27 Sep 2017, 09:11

Re: FPS Low When It Shouldn't Be (Unplayable Levels)

Post by CraigShaw »

DestinedToDie wrote: 27 Sep 2017, 12:04 Do you perhaps have a model replacer mod? My suggestion is to try a completely fresh vanilla Morrowind installation so that we can rule out that the cause of this is due to some mod (back up your original modded folder). After that, if it is indeed a mod, we may try pinpointing which one it is.
I did think of this when reading this:
AnyOldName3 wrote: 27 Sep 2017, 11:23 Your profiler results say physics in cities is taking over 500ms, which would completely explain the low framerate. This is completely expected, as collision between actors and even slightly complex meshes is the one thing that's properly faster in the original engine. It's capable of bringing the best PCs problems.
So I tried to think of which mods would be the biggest culprits. I have a lot of mesh optimizers but they don't seem to be the issue. After a bit of back and forth testing I found all the following caused a slowdown (though as noted above I have no problem with them under Wine):

* Children of Morrowind (<- This one is a shame as I really like the atmosphere it ads.)
* Animated Morrowind - Merged (<- Again, wish I didn't need to get rid of this.)
* Better Caldera (<- Can live without this one.)
* New Seyda Neen (<- Not surprised but really would have liked to keep it.)

Game runs now with Hi-Res textures at 400 FPS outdoors and 240 FPS in towns. (I also had slow downs in PW Redesigned Vivec-Vivec Expansion but this seems to have been due to a waterfall replacer I had running.)

Hopefully as OpenMW progresses I'll be able to add these back in.
Post Reply