Page 1 of 1
Is my low performance normal?
Posted: 10 Feb 2020, 21:43
by parttimehorse
Hey everyone,
I wasn't really sure what to put in the title but my issue - or maybe it's just a question - is as following: I think the performance on my system is lower than it should be. In fact, I end up with less FPS than with Morrowind + MGE XE with the same mod base (textures, meshes, esp mods) and XE running with a few expensive shaders (see below).
Now, I am aware that Morrowind isn't really a game that scales well with modern hardware, and OpenMW naturally has its limits, too. Have I reached that? Or might my graphics card be underperforming here?
I use a few replacer - such as Morrowind Enhanced Overhaul and a couple of city improvements. Relevant in the scenario below: Kilcunda's Balmora. In MGE XE, I also use grass shader (Remiros' groundcover), SSAO, HDR, .
Bizarrely, even with viewing distance in OpenMW cranked down to about 1.3X, my FPS in Balmora are lower than in XE. That seems weird and, well, is qualitatively below XE.
In MGE XE:
https://abload.de/img/2020.02.10-19.41x6j59.png (26 FPS)
In OpenMW:
https://abload.de/img/screenshot002grjba.png (19 FPS)
Disabling all shadows in the launcher yields about 35 FPS; all shadows and water effects disabled and viewing distance strictly 1.0Xabout 57 FPS (but admittedly, this doesn't really look good)
https://abload.de/img/screenshot004pik12.png
OpenMW version: OpenMW development (d5cee5aea9), nightly
CPU: AMD Ryzen 7 1700
GPU: AMD Radeon RX 5700, Driver: 20.2.1
RAM: 2x 8GB DDR4 @ 3000 Mhz
OS: Windows 10 1909
esm / esp list
-
Spoiler: Show
- Loading content file Morrowind.esm
Loading content file Glowing Atronachs.esp
Loading content file Tribunal.esm
Loading content file Bloodmoon.esm
Loading content file Patch for Purists - Book Typos.ESP
Loading content file Patch for Purists - Decimal Errors.ESP
Loading content file Patch for Purists.esm
Loading content file Diseases Restored.ESP
Loading content file Better Skulls.ESP
Loading content file New Gnisis 1.2.ESP
Loading content file Protective Guards.esp
Loading content file PB_NegativeLightRemover.esp
Loading content file Flies.ESP
Loading content file Cave Drips.ESP
Loading content file Silt Strider Animation Restored.ESP
Loading content file Dramatic Vivec.esp
Loading content file Improved Cliff Racer AI.ESP
Loading content file MW Containers Animated.esp
Loading content file XE Sky Variations.esp
Loading content file MovementFatigueHalved.esp
Loading content file LowerFirstPersonSneak.ESP
Loading content file Glowing Flames - NoMoreLightlessFlames v1.1.ESP
Loading content file Kilcunda's Balmora.ESP
Loading content file Epic Dagon Fel.esp
Loading content file Epic_Aldruhn.esp
Loading content file Epic_SadrithMora.esp
Loading content file Immersive Seyda Neen.ESP
Loading content file Clean Better Caldera.esp
MGE Settings
-
Spoiler: Show
- [DLWizard Settings]
Plugins view sort order=Load order
World texture resolution=4096
World normalmap resolution=2048
Create world texture in two steps=False
World mesh detail=Very High
Minimum static size=150
Grass density=100
Mesh detail=90%
Skip mipmap levels=1
Include activators=True
Include misc objects=True
Use static overrides=True
Statics for behave like exterior cells=On
Statics for interiors with water=On
[DLWizard Plugin Dirs]
[DLWizard Plugins]
Bloodmoon.esm
Morrowind.esm
Tribunal.esm
New Gnisis 1.2.ESP
Dramatic Vivec.esp
XE Sky Variations.esp
Kilcunda's Balmora.ESP
Epic Dagon Fel.esp
Epic_Aldruhn.esp
Epic_SadrithMora.esp
Immersive Seyda Neen.ESP
Clean Better Caldera.esp
Patch for Purists.esm
Rem_Solstheim.esp
Rem_WG.esp
Rem_AI.esp
Rem_GL.esp
Rem_BC.esp
Rem_AL.esp
Rem_AC.esp
wl_SolstheimOverhaul_v1.esm
[DLWizard Static Overrides]
[Per Pixel Lighting]
Clear Sun Brightness=1
Clear Ambient Brightness=1
Cloudy Sun Brightness=1
Cloudy Ambient Brightness=1
Foggy Sun Brightness=1
Foggy Ambient Brightness=1
Overcast Sun Brightness=1
Overcast Ambient Brightness=1
Rain Sun Brightness=1
Rain Ambient Brightness=1
Thunderstorm Sun Brightness=1
Thunderstorm Ambient Brightness=1
Ashstorm Sun Brightness=1
Ashstorm Ambient Brightness=1
Blight Sun Brightness=1
Blight Ambient Brightness=1
Snow Sun Brightness=1
Snow Ambient Brightness=1
Blizzard Sun Brightness=1
Blizzard Ambient Brightness=1
[Render State]
HDR Reaction Time=2
Anisotropic Filtering Level=16x
Mipmap LOD Bias=0
Fog Mode=Range vertex
Match FOV To Aspect Ratio=On
Horizontal Screen FOV=91.31
MGE FPS Counter=Off
MGE Messages=On
MGE Messages Timeout=2000
Hardware Shader=On
UI Scaling=1
Screenshot Format=PNG
Screenshot Name Suffix=Timestamp
Screenshot Output Directory=""
Screenshot Name Prefix="Morrowind"
[Shader Chain]
SSAO HQ
Underwater Interior Effects
Underwater Effects
Sunshafts
Bloom Soft
Eye Adaptation (HDR)
[Main]
Version="v0.11.6"
Tooltip Reading Speed=15cps
GUI Language="English (default)"
Language Autodetection=True
[Misc]
MGE Disabled=False
Internal MWSE Disabled=False
Skip Intro Movies=True
Daggerfall Combat Controls=False
Customize 3rd Person Camera=False
Initial 3rd Person Camera X=0
Initial 3rd Person Camera Y=-160
Initial 3rd Person Camera Z=0
Crosshair Autohide=False
Use Menu Background Caching=True
[Global Graphics]
Antialiasing Level=4x
VWait=1
Refresh Rate=60
Borderless Window=True
[Distant Land]
Distant Land=On
Distant Statics=On
Draw Distance=5
Auto Distances=True
Auto Distances Choice=By Draw Distance
Near Statics End=2
Far Statics End=4
Very Far Statics End=5
Far Static Min Size=600
Very Far Static Min Size=800
Water Reflects Land=True
Water Reflects Near Statics=True
Water Reflects Interiors=True
Enable Sky Reflections=True
Blur Water Reflections=On
Dynamic Ripples=False
Water Wave Height=50
Water Caustics Intensity=50
Above Water Fog Start=2
Above Water Fog End=5
Below Water Fog Start=-0.5
Below Water Fog End=0.3
Interior Fog Start=0
Interior Fog End=2
Use Exponential Fog=Yes
Exponential Distance Multiplier=4
Use Atmosphere Scattering=Yes
Sun Shadows=On
Per Pixel Shader=On
Per Pixel Shader Flags=Interiors only
[Macros]
[MacrosDesc]
[InputTriggers]
[InputRemap]
OpenMW settings file (with shadows activated)
-
Spoiler: Show
-
[Shadows]
actor shadows = true
enable shadows = true
object shadows = true
player shadows = true
shadow map resolution = 1024
terrain shadows = true
enable indoor shadows = true
[Video]
antialiasing = 4
framerate limit = 315
resolution x = 1920
resolution y = 1080
vsync = true
fullscreen = true
[Camera]
viewing distance = 8172
[General]
anisotropy = 16
texture mipmap = linear
[Input]
always run = true
[Saves]
character = fgbg
[Water]
refraction = true
shader = true
[Terrain]
distant terrain = true
[Game]
actors processing range = 7168
So, basically my question is:
- Is this performance level normal?
- If not, is there anything I can do?
Always appreciate tips. Hope this isn't a stupid question overall, but it's been years since I last played Morrowind and haven't kept track of OpenMW for quite some time.
Best regards, Rob
Re: Is my low performance normal?
Posted: 10 Feb 2020, 23:31
by AnyOldName3
So there are a few things that are making things worse than they need to be here.
First, if you press F3 enough times to bring up the detailed profiler, as you have in those screenshots, OpenMW needs to count up how many of various kinds of thing there are. This can actually have a noticeable performance hit. The detailed levels aren't what you want when comparing OpenMW and MGE XE. Just press F3 once to get the framerate counter.
The other thing is that MGE XE takes lots of shortcuts that OpenMW doesn't. Morrowind uses lots and lots of very simple meshes that all use different settings. Setting the settings and telling the GPU to draw things can actually take longer than it takes a modern GPU to draw them, but when Morrowind was made, this didn't make a difference. MGE XE doesn't work very well unless you use its distant land generator. Among other things, it makes combined versions of things that get used for shadow casting, when they're far away, or, in the case of grass, all the time. These are much faster to render per-triangle, but, particularly in the case of grass, means certain things don't look as good. For example, if all the grass in the cell gets combined into one mesh, the eight-light-per-mesh limit applies to all the grass in the cell, instead of being per-tuffet, and so things like torches are less likely to work on grass. There are a bunch of other issues that doing batching when the game isn't running causes, like things not appearing or disappearing properly when scripts enable, disable or move them partway through the game. Comparing OpenMW and MGE XE isn't like-for-like as we effectively always do things that MGE XE can't, or hides behind settings telling you that they'll completely ruin performance.
In theory, we should be able to come up with solutions to these problems that let things be fast while still keeping all the bells and whistles, and that means we're avoiding adding stopgap solutions - they take time away from working on real solutions that solve the problem forever with no downsides.
The best thing you can do to make things faster is become a competent graphics developer who's willing to work with OpenMW without causing a scene and is capable with using OpenSceneGraph without getting into a fight with it. There aren't many people like that who have time.
Re: Is my low performance normal?
Posted: 11 Feb 2020, 00:21
by parttimehorse
Thank you for your detailed response, I really appreciate the input and perspective. Fwiw, I did initially just use the FPS-only overlay without the detailed count, I just thought something on there might be of interest.
I hope it didn't sound degrading or anything like that, I quite enjoy this project! I think it's one of my favorite open source projects and I enjoy how it opens up multiple platforms for Morrowind. On my end I will try OpenMW on my Linux installation, as I only now realized it runs on OpenGL and AMD's closed source OpenGL driver implementation is rather lackluster. So, I might attempt running it on there - could give a nice boost on the other driver, from what I've heard.
Again, thanks for the response and the work you put into the project!
Re: Is my low performance normal?
Posted: 11 Feb 2020, 08:28
by akortunov
Since profiler shows more than 10k drawables in scene (for example, usually there are about 3-3.5k drawables in that scene with shadows and reflections enabled), I suppose you either enabled grass mod (which is supposed to be used only with the Distant Land generator, not the game itself) or increased the "extrior cells loading distance" (which works similarly to uGridsToLoad in Skyrim), or even did both (despite your configs do not show anything suspicious).
Tent meshes are pretty unoptimized in Morrowind, but I am not sure if they can make scene 3x more complex than it should be.
I'd suggest you to disable mods one by one to detect a bottleneck.
And keep in mind that MGE uses meshes from Distant Land to cast shadows, so objects which are not present in Distant Land do not cast shadows (as crates on your screenshot), while OpenMW has honest real-time shadows. On OpenMW it is possible to set a distance when shadows start to fade away to increase performance, though. An another good idea is to decrease the "actors processing range" value since NPCs in Morrowind have pretty complex meshes and their shadows and reflections can degrade FPS a lot on both engines (I even can not tell if you have high-quality actors shadows enabled in MGE).
Also it would be better to use the OpenMW Containers Animated with 0.46 instead of outdated and not optimized MW Containers Animated.
Re: Is my low performance normal?
Posted: 11 Feb 2020, 10:10
by AnyOldName3
Why are you using AMD's closed-source OpenGL driver on Linux? Their open-source one is the good one. In fact, I didn't even think there was a closed-source Linux driver for Navi.
Re: Is my low performance normal?
Posted: 11 Feb 2020, 17:04
by parttimehorse
I just realized I did some unfortunate wording, I wanted to refer to the Windows OpenGL driver when i said closed-source. That's kind of misleading on my part.
As AMD's Windows and Linux closed-source drivers share a lot of their code base, below's results might be interesting from other AMD users on Windows.
I just compiled openmw-git on Arch and recreated the scenario running radeonsi. The interesting part? Higher FPS (despite me forgetting to turn down the viewing distance back to 1.0X, but OpenMW is pretty robust in terms of viewing distance FPS impact between 1.0X and 10.0X)
https://abload.de/img/screenshot_20200211_1aajm9.png - OpenMW @ Arch Linux and radeonsi: ~26 FPS
It's overall higher framerate and smoother, seems to have less dips than the Windows OpenGL driver. I'll definitely play on Linux, then!
Dear akortunov, thanks for the suggestions! I will check that out. I did verify that the grass mod was not active, but I will go through your other suggestions tonight. Thanks for the input
Re: Is my low performance normal?
Posted: 17 Feb 2020, 15:34
by lysol
While at it, I would also suggest trying
Morrowind Optimization Patch and
Project Atlas out if you haven't already, as these mods lower the draw calls significatly.