Scalability & Stability

Feedback on past, current, and future development.
Post Reply
Xenuria
Posts: 16
Joined: 26 Feb 2017, 22:35

Scalability & Stability

Post by Xenuria » 02 Aug 2017, 00:06

Hi, I am Xenuria and I am going to be posting some documentation showing the rather sharp difference in performance between the following scenarios.

OpenMW 0.42.0 on Max Settings Vanilla View Distance

OpenMW 0.42.0 on Max Settings Non-Vanilla View Distance/ Distant land and cells loaded.



https://www.youtube.com/watch?v=gLX6F0kI0CY
The above video is using https://pastebin.com/dnhHLLVu for it's configuration
Notice the large drop in fps outdoors? If I run the exact same conditions but with Vanilla view distance and only 1 cell load I get 45-60 fps (60 fps is capped).

Question

Will the engine in openmw ever be in a place where it can take enough advantage of current hardware to have smooth sailing at high viewing distances?

Reference Material

http://openmw.readthedocs.io/en/master/ ... amera.html
Cells Viewing Distance
2 14285
3 21903
4 29522
5 35924

Nvidia 1080
Intel Quad-Core 2600K
16 GB RAM
SSD
4K Desktop Resolution

User avatar
akortunov
Posts: 117
Joined: 13 Mar 2017, 13:49
Location: Samara, Russian Federation
Github profile: https://github.com/akortunov

Re: Scalability & Stability

Post by akortunov » 02 Aug 2017, 05:11

IMO,

Code: Select all

exterior cell load distance = 3
is a culprit. Normally it should have 1 value (preload 9 cells instead of 49).

If you want to use a distant terrain, you should increase "viewing distance" setting to 75000 or higher instead.

User avatar
DestinedToDie
Posts: 1056
Joined: 29 Jun 2015, 09:08

Re: Scalability & Stability

Post by DestinedToDie » 02 Aug 2017, 08:42

Set your...

small feature culling pixel size = 16.0

This should improve performance when loading a lot of cells.

User avatar
akortunov
Posts: 117
Joined: 13 Mar 2017, 13:49
Location: Samara, Russian Federation
Github profile: https://github.com/akortunov

Re: Scalability & Stability

Post by akortunov » 02 Aug 2017, 08:53

small feature culling pixel size = 16.0
Not a very good idea. With culling > 8.0 NPC bodyparts (legs, heads, etc.) will be missing on a large distance.

TS actually has too many active cells (see my previous post).

Chris
Posts: 1283
Joined: 04 Sep 2011, 08:33

Re: Scalability & Stability

Post by Chris » 02 Aug 2017, 10:07

Be aware that "exterior cell load distance" is the radius for the number of fully loaded and active cells, excluding the one the player is in. So with the default 1, that gives a diameter of 3, so there's 3x3 (9) cells loaded around the player. With your change to 3, that's a diameter of 7, so there's 7x7 (49) cells loaded around the player. Those 49 cells would have a lot of things that need to be loaded in memory and processed each frame. Such AI and script processing is going to be heavily limited by the CPU's single-thread performance, and a 2600K is on the pretty low-end of the i7 CPUs.

For simply improving the view distance with smooth framerates, set "exterior cell load distance" back to 1, leave "viewing distance" as you want, and under the [Terrain] section set "distant terrain" to true.

Xenuria
Posts: 16
Joined: 26 Feb 2017, 22:35

Re: Scalability & Stability

Post by Xenuria » 02 Aug 2017, 11:18

Chris wrote:
02 Aug 2017, 10:07
Be aware that "exterior cell load distance" is the radius for the number of fully loaded and active cells, excluding the one the player is in. So with the default 1, that gives a diameter of 3, so there's 3x3 (9) cells loaded around the player. With your change to 3, that's a diameter of 7, so there's 7x7 (49) cells loaded around the player. Those 49 cells would have a lot of things that need to be loaded in memory and processed each frame. Such AI and script processing is going to be heavily limited by the CPU's single-thread performance, and a 2600K is on the pretty low-end of the i7 CPUs.

For simply improving the view distance with smooth framerates, set "exterior cell load distance" back to 1, leave "viewing distance" as you want, and under the [Terrain] section set "distant terrain" to true.
But golly what if I want to have a bunch of cells loaded? Is there a multi-core solution in the works?

Edit: Also wouldn't hunting down and fixing all the out of bounds UV errors in the console reduce some load however small on the engine?
Last edited by Xenuria on 02 Aug 2017, 11:37, edited 1 time in total.

User avatar
lysol
Posts: 701
Joined: 26 Mar 2013, 01:48
Location: Sweden

Re: Scalability & Stability

Post by lysol » 02 Aug 2017, 11:26

Xenuria wrote:
02 Aug 2017, 11:18
But golly what if I want to have a bunch of cells loaded? Is there a multi-core solution in the works?
You don't. Not loaded with AI, scripts etc. at least. This leads to bugs since the game isn't designed to have AI and scripts 7 cells away activated. What you want is distant statics, which is not in the works atm but hopefully someone starts working on it some day soon.

Use distant terrain instead, as Chris suggested.
Normal mapped texture replacers, exclusive for OpenMW:
My Nexus page

Xenuria
Posts: 16
Joined: 26 Feb 2017, 22:35

Re: Scalability & Stability

Post by Xenuria » 02 Aug 2017, 15:11

viewing distance = 35924
exterior cell load distance = 1

With these settings I get a jittery 25-35 fps outdoors. How do I properly read the F3 menus to determine where the bottleneck is? Is there documentations I have overlooked that explains the bars moving about?

Post Reply

Who is online

Users browsing this forum: No registered users and 1 guest