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!
Help figuring out framerate!
-
- Posts: 6
- Joined: 23 Sep 2020, 23:25
Help figuring out framerate!
Last edited by data0angel on 13 Nov 2020, 21:33, edited 1 time in total.
- AnyOldName3
- Posts: 2674
- Joined: 26 Nov 2015, 03:25
Re: Help figuring out framerate!
My browser wants to download the screenshot instead of just displaying it, so I'll embed it here:
- AnyOldName3
- Posts: 2674
- Joined: 26 Nov 2015, 03:25
Re: Help figuring out framerate!
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.
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.
-
- Posts: 6
- Joined: 23 Sep 2020, 23:25
Re: Help figuring out framerate!
Oops! Accidentally copied the discord link, editedAnyOldName3 wrote: ↑13 Nov 2020, 19:52 My browser wants to download the screenshot instead of just displaying it, so I'll embed it here:
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 meAnyOldName3 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
Here is my settings.cfg!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.
thank u for the response!
- AnyOldName3
- Posts: 2674
- Joined: 26 Nov 2015, 03:25
Re: Help figuring out framerate!
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.
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.
-
- Posts: 6
- Joined: 23 Sep 2020, 23:25
Re: Help figuring out framerate!
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
- FiftyTifty
- Posts: 63
- Joined: 15 Oct 2014, 21:02
Re: Help figuring out framerate!
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.
Re: Help figuring out framerate!
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 to verify which card is being used.
Also check /proc/config.gz contents for CONFIG_SMP .
What value is it set at ?
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
Also check /proc/config.gz contents for CONFIG_SMP .
What value is it set at ?
- AnyOldName3
- Posts: 2674
- Joined: 26 Nov 2015, 03:25
Re: Help figuring out framerate!
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.
-
- Posts: 6
- Joined: 23 Sep 2020, 23:25
Re: Help figuring out framerate!
Here is glxinfo -B output: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 postto verify which card is being used.Code: Select all
glxinfo -B
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
I can't seem to find this file! searched my drive for config.gz and got no results