Newbie question: MGE XE vs. OpenMW performance

General discussion regarding the OpenMW project.
For technical support, please use the Support subforum.
Post Reply
joabic
Posts: 8
Joined: 09 Jan 2018, 19:56

Newbie question: MGE XE vs. OpenMW performance

Post by joabic »

I'm using OpenMW (0.47) for the first time, but have been running classic Morrowind for years with a setup derived from the Morrowind Graphics Guide which uses MGE XE. I'm running on 64-bit Windows 7, Intel I5 2.67 GHz, 8 GB RAM, Nvidia GeForce 1060 6 GB.

It seems that my FPS with OpenMW is generally about half what I get with my classic setup. For example, in the canal in Balmora I'm getting around 40 FPS with my classic game, and around 20 FPS with OpenMW. Yet my OpenMW configuration is more conservative than my classic setup. Here are some potentially relevant settings:

Draw Distance: classic=6 cells, OpenMW = 5 cells
FOV: classic = 85, OpenMW = 75
No. mods loaded: classic = 145 (many hi-res textures), OpenMW = 6 (just a few patches)
AA/AF: classic = 8x/16x, OpenMW = 4x/16x

Realtime shadows set to about 3/4 with classic, player & actor shadows only with OpenMW. Both games are set for maximum performance in Nvidia control panel. Not sure what else might be relevant.

I read a couple notes saying MGE XE and OpenMW performance is more or less equal (depending on mods and in-game location). I read the "Performance" topic at Modding-OpenMW.com but none of the tweaks suggested there made much difference if any. It seems my classic setup should be quite a bit more taxing to my system than OpenMW, but that's not the case. That makes me think there's something fundamental I'm missing about setting up OpenMW, or maybe there's some particularly graphics-intensive option I turned on without realizing it.

Is this relative performance as expected? If not, any suggestions about what I'm doing wrong with OpenMW?
User avatar
akortunov
Posts: 899
Joined: 13 Mar 2017, 13:49
Location: Samara, Russian Federation

Re: Newbie question: MGE XE vs. OpenMW performance

Post by akortunov »

It is hard to tell anything without an actual CPU specs, settings.cfg and in-game profiler output (when you hit F3 twice).
My guess is that "Intel I5 2.67 GHz" is quite outdated and can not handle either collision detection (OpenMW uses Bullet which is more precise than Morrowind's system but much more CPU-demanding) or a lot of tiny draw calls. In this case I'd suggest to decrease actors processing range, use a separate thread for collision detection (an "async num threads" option) and install optimization mods (such as Project Atlas and Morrowind Optimization Patch).

Also keep in mind that there is no LOD generator for OpenMW yet, so Distand Land may use more resources than in MGE, especially if full water reflections are enabled.
joabic
Posts: 8
Joined: 09 Jan 2018, 19:56

Re: Newbie question: MGE XE vs. OpenMW performance

Post by joabic »

Thanks! I do have "async num threads = 1" in settings.cfg, and MOP is installed. I'll try the profiler and see if that tells me anything.

Is Project Atlas helpful without any texture mods installed? From reading about it I got the impression it helps only when installing atlased textures.

(And yeah I know my system's getting a bit long in the tooth. :))

Update: Ran the profiler. Not entirely sure what I'm looking at, but I'm assuming the rows represent various processing elements or phases and the numbers show percentage of time. Correct? The three largest are Cull: 8-9, Draw: 44-45, and GPU: 38-39. All others are 5 or less. Does that tell you anything?
User avatar
Atahualpa
Posts: 1176
Joined: 09 Feb 2016, 20:03

Re: Newbie question: MGE XE vs. OpenMW performance

Post by Atahualpa »

Looking at your draw distance, I assume that you are using object paging. One thing that might significantly increase your FPS is the "object paging min size" setting. The default value is 0.01, but I tend to use 0.015 or even 0.023, which leads to more noticeable pop-ups and "missing" objects in the distance but also increases performance.

You can set it in the OpenMW launcher under [Advanced] => [Visuals] or in your user configuration file, e.g.:

Code: Select all

[Terrain]
distant terrain = true
object paging active grid = true
object paging = true
object paging min size = 0.015
Also, as akortunov mentioned, the water shader is a huge performance sink at the moment. Setting reflection level to "World" and lowering the texture quality might help quite a bit. You can adjust these in the in-game settings menu.

Project Atlas is especially useful for vanilla setups since it only covers vanilla textures. From the mod description on Nexus:
Texture atlases replace the vanilla textures which means that the texture atlas will not automatically be compatible with texture replacers.
joabic
Posts: 8
Joined: 09 Jan 2018, 19:56

Re: Newbie question: MGE XE vs. OpenMW performance

Post by joabic »

Thanks for all the suggestions. Turns out I already have Project Atlas installed (been following one of the canned mod lists, but wasn't paying close enough attention). I also already have the suggested object paging settings with a min size of 0.23.

For water shader I'm using reflection level World and texture quality Medium. Adjusting these settings had minimal effect (1-2 fps gained).

However, based on this hint, I turned off the water shader entirely, and that almost doubled my FPS to where it is now comparable to MGE XE. So apparently water is the sticking point for me. Sadly, I'm not sure I can stand to play with the default water; it's so ugly :( .

Perhaps the thing to do is to bypass OpenMW for the time being until I can buy a new toaster (the pile of reasons to do so keeps getting bigger).
User avatar
akortunov
Posts: 899
Joined: 13 Mar 2017, 13:49
Location: Samara, Russian Federation

Re: Newbie question: MGE XE vs. OpenMW performance

Post by akortunov »

joabic wrote: 18 Dec 2021, 18:23 However, based on this hint, I turned off the water shader entirely, and that almost doubled my FPS to where it is now comparable to MGE XE.
Water shader itself should not cause noticable performance drop. Only detailed reflections and refractions should do it because they vastly increase amount of objects to render.
joabic wrote: 18 Dec 2021, 18:23 For water shader I'm using reflection level World and texture quality Medium.
Since you seem to be limited by amount of draw calls, I'd suggest to use Terrain reflections level instead, decrease viewing distance to somewhat 3-4 cells and disable shadows if they are enabled (shadows can eat a lot of FPS as well).
joabic
Posts: 8
Joined: 09 Jan 2018, 19:56

Re: Newbie question: MGE XE vs. OpenMW performance

Post by joabic »

Based on this info, I decided to start over and make incremental changes to see if I could identify just which setting was causing the game to "tip" from OK performance to pretty bad performance. The result surprised me. The thing that most negatively affects my FPS is to increase view distance (using in-game setting) and then coc to a new location. After numerous experiments, here's the shortest sequence of steps I found that demonstrates the effect.

1. Start with default settings (except I enabled fullscreen and set my resolution to 1920x1200).
2. Run the game using test mode to start in Balmora: FPS = 290 (fyi my monitor's refresh rate is 59, so anything above that is gravy).
3. coc vivec: FPS = 185
4. coc balmora: FPS = 290 (i.e, unchanged)
5. Using in-game slider, increase view distance to 4: FPS = 235 (moderate but expected drop)
6. coc vivec: FPS = 90
7. coc balmora: FPS = 140 (unexpected)

I repeated these steps several times in several locations and see consistent results. It doesn't surprise me that increasing view distance causes an FPS hit. What does seem odd to me is that just going to Vivec and back (steps 6 & 7) causes a significant (and permanent) drop.

Going back to my original post, I get an acceptable FPS with all the settings I was using (including water shader) as long as I don't coc to a new location. As soon as I do that, though, my FPS tanks.

Am I seeing expected behavior?
User avatar
AnyOldName3
Posts: 2668
Joined: 26 Nov 2015, 03:25

Re: Newbie question: MGE XE vs. OpenMW performance

Post by AnyOldName3 »

There's a bit of an expected hit as there's some stuff that's generated ahead-of-time for the cell you initially load into that happens on a background thread for cells you move between in game (as it was decided that a temporary framerate reduction was more pleasant when crossing a cell boundary than a mini load screen), but it's supposed to be temporary and go away after a few seconds. We keep getting reports of that not being the case, though, but we don't have any concrete ideas as to why. One theory is that it's somehow confusing the OS scheduler, so the background thread ends up assigned to the same core as the draw thread so they have to take turns instead of work in parallel.
joabic
Posts: 8
Joined: 09 Jan 2018, 19:56

Re: Newbie question: MGE XE vs. OpenMW performance

Post by joabic »

OK. Thanks for the info. For now I'll stick with classic Morrowind, but keep an eye on OpenMW for the future.
Post Reply