Help figuring out framerate!

Support for running, installing or compiling OpenMW

Before you submit a bug report for the first time, please read: Bug reporting guidelines
data0angel
Posts: 6
Joined: 23 Sep 2020, 23:25

Help figuring out framerate!

Post by data0angel »

Hi! I'm trying to figure out what might be causing framerate issues I have in certain cities/settlements using Pelgiad as an example.

I'm running the 2020/11/10 linux nightly, my CPU is the A10 5800k and my gpu an R9 Nano, I'm using linux mint 19.3.

The issue: My framerate varies pretty wildly, from 30 to 60 fps just walking around, except when it comes to certain settlements where i get a very drastic drop to sometimes below 20, the only thing that seems to improve it to decent levels (30fps+) pulling the view distance down to it's lowest point, there's little improvement before the you get to the first third of the slider roughly.

So yeah it's not ideal having to go silent hill mode whenever i enter seemingly most cities! I don't have distant terrain on, messing with any of the other settings does nothing i can notice, setting object paging to true didn't seem to do much. I was wondering if someone could help explain to me why this might be happening, why turning view distance all the way down seems to be the only thing that helps? If there's something I could do about it or if it's just my hardware?

I have this screenshot with the readout at the worst point in pelgiad, i can rarely break 20fps in (as in within the walls of the fort not the actual interior) and around the fort, the lowest i saw it go was 13fps.

lmk if i missed any etiquette or anything!
Last edited by data0angel on 13 Nov 2020, 21:33, edited 1 time in total.
User avatar
AnyOldName3
Posts: 2674
Joined: 26 Nov 2015, 03:25

Re: Help figuring out framerate!

Post by AnyOldName3 »

My browser wants to download the screenshot instead of just displaying it, so I'll embed it here:

Image
User avatar
AnyOldName3
Posts: 2674
Joined: 26 Nov 2015, 03:25

Re: Help figuring out framerate!

Post by AnyOldName3 »

If I had to guess, I'd say it's largely because your CPU isn't that fast by modern standards, and you've turned settings higher than it's capable of dealing with. The Physics, Cull and Draw bars being that big are pretty much certainly because your CPU's not capable of doing them any faster, and I'd suspect that your GPU's spending a lot of time waiting for work rather than actually doing things.

I guess posting your settings would be a good idea as we might be able to point something out that you could turn down for more speed without really affecting things much.
data0angel
Posts: 6
Joined: 23 Sep 2020, 23:25

Re: Help figuring out framerate!

Post by data0angel »

AnyOldName3 wrote: 13 Nov 2020, 19:52 My browser wants to download the screenshot instead of just displaying it, so I'll embed it here:
Oops! Accidentally copied the discord link, edited
AnyOldName3 wrote: 13 Nov 2020, 19:58 If I had to guess, I'd say it's largely because your CPU isn't that fast by modern standards
Ah ok I figured it might be my CPU it is pretty old now haha, do you know why the only setting that seems to affect it is view distance tho? That seems weird to me
AnyOldName3 wrote: 13 Nov 2020, 19:58 I guess posting your settings would be a good idea as we might be able to point something out that you could turn down for more speed without really affecting things much.
Here is my settings.cfg!

thank u for the response!
User avatar
AnyOldName3
Posts: 2674
Joined: 26 Nov 2015, 03:25

Re: Help figuring out framerate!

Post by AnyOldName3 »

I can pretty much guarantee that most of the settings related to shadows will have a measurable performance impact, too. Ones that are purely GPU-based making no difference lends more credence to the idea that your GPU is just sitting there waiting for work, though.

Increasing the viewing distance increases the number of things the engine needs to deal with, so has a pretty obvious route for making things slower. Some of that is the stuff that should obviously be on the CPU like physics, AI, and game scripts, but other stuff has a bigger hit in OpenMW than other games. Morrowind was made back when GPUs were much slower relative to the CPUs in the same machines as them. That meant that if you told the GPU to draw three triangles, it would basically take half the time it would if you told it to draw six triangles, and the CPU-side setup to actually tell it to draw those triangles wouldn't be a significant part of the cost, and so Bethesda were quite sloppy with minimising that CPU-side cost. The result of that is that when you want to use 2020 viewing distances and levels of detail, there's quite a lot of CPU cost to everything graphical spent collecting up things that need drawing and preparing the GPU to draw them.
data0angel
Posts: 6
Joined: 23 Sep 2020, 23:25

Re: Help figuring out framerate!

Post by data0angel »

Thank you very much for that explanation and thank you again for pointing out the shadows options! Turning them all off makes things run smooth as butter! It didn't occur to me they might be more CPU demanding than anything haha
User avatar
FiftyTifty
Posts: 63
Joined: 15 Oct 2014, 21:02

Re: Help figuring out framerate!

Post by FiftyTifty »

The Bulldozer family of CPUs have woeful draw call performance. With that on top of AMD's terrible OpenGL driver, you're seeing the impact of a higher number of draw calls.
LoneWolf
Posts: 138
Joined: 26 Sep 2017, 19:13

Re: Help figuring out framerate!

Post by LoneWolf »

OTOH the amd Piledriver cores used in the A10 5800k are known for having good multicore performance.
Amd opensource drivers on linux tend to perform much better then the proprietary ones (linux AND windows) and have great OpenGL / Vulkan support.


data0angel, your system has 2 videocards : an integrated HD 7660D and a (much more powerful) R9 nano .
please post

Code: Select all

glxinfo -B
to verify which card is being used.

Also check /proc/config.gz contents for CONFIG_SMP .
What value is it set at ?
User avatar
AnyOldName3
Posts: 2674
Joined: 26 Nov 2015, 03:25

Re: Help figuring out framerate!

Post by AnyOldName3 »

Piledriver was known for having awful performance, and you could work around it by making an application use more threads as then at least then you'd have several sets of terrible performance to add together. That meant there were certain situations where eight piledriver cores could more-or-less keep up with four of Intel's cores from a couple of generations earlier while costing a bit less, but that's still bad multicore performance.
data0angel
Posts: 6
Joined: 23 Sep 2020, 23:25

Re: Help figuring out framerate!

Post by data0angel »

LoneWolf wrote: 16 Nov 2020, 20:34 data0angel, your system has 2 videocards : an integrated HD 7660D and a (much more powerful) R9 nano .
please post

Code: Select all

glxinfo -B
to verify which card is being used.
Here is glxinfo -B output:

Code: Select all

name of display: :0
display: :0  screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
    Vendor: X.Org (0x1002)
    Device: AMD Radeon (TM) R9 Fury Series (FIJI, DRM 3.35.0, 5.4.0-48-generic, LLVM 10.0.0) (0x7300)
    Version: 20.0.8
    Accelerated: yes
    Video memory: 4096MB
    Unified memory: no
    Preferred profile: core (0x1)
    Max core profile version: 4.6
    Max compat profile version: 4.6
    Max GLES1 profile version: 1.1
    Max GLES[23] profile version: 3.2
Memory info (GL_ATI_meminfo):
    VBO free memory - total: 3853 MB, largest block: 3853 MB
    VBO free aux. memory - total: 4075 MB, largest block: 4075 MB
    Texture free memory - total: 3853 MB, largest block: 3853 MB
    Texture free aux. memory - total: 4075 MB, largest block: 4075 MB
    Renderbuffer free memory - total: 3853 MB, largest block: 3853 MB
    Renderbuffer free aux. memory - total: 4075 MB, largest block: 4075 MB
Memory info (GL_NVX_gpu_memory_info):
    Dedicated video memory: 4096 MB
    Total available memory: 8192 MB
    Currently available dedicated video memory: 3853 MB
OpenGL vendor string: X.Org
OpenGL renderer string: AMD Radeon (TM) R9 Fury Series (FIJI, DRM 3.35.0, 5.4.0-48-generic, LLVM 10.0.0)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 20.0.8
OpenGL core profile shading language version string: 4.60
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.6 (Compatibility Profile) Mesa 20.0.8
OpenGL shading language version string: 4.60
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 20.0.8
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
LoneWolf wrote: 16 Nov 2020, 20:34 Also check /proc/config.gz contents for CONFIG_SMP .
What value is it set at ?
I can't seem to find this file! searched my drive for config.gz and got no results
Post Reply