[solved] GPU not fully used (desktop, Ryzen 3700X, Radeon 5700XT)

Support for running, installing or compiling OpenMW

Before you submit a bug report for the first time, please read: Bug reporting guidelines
Post Reply
Naugrim
Posts: 172
Joined: 08 Jan 2016, 01:32
Location: Spain

[solved] GPU not fully used (desktop, Ryzen 3700X, Radeon 5700XT)

Post by Naugrim »

This is more curiosity than an actual issue, but I'd like to get stable >120 with some distant of 3 at least.

Kernel: 5.14.18-1-MANJARO
CPU: Ryzen 3700X
GPU: Radeon 5700XT
FPS limited at 144.

I run some metrics with mangohud (see attachment, left axis fps, right axis cpu/gpu %) just running in circles arround Balmora and I've seen that in certain places when looking in certain direction fps drop significantly, from 155 to 68. But GPU load is more r less consistent (max 83%, min 58%) and CPU does not go above 20%.
I have all metrics, so I can provide more data if needed, but I don't see any bottlenck in ram, vram, etc.

I run a few textuxe mods, but nothing heavy (I think), and here are settings

Code: Select all

[Video]
antialiasing = 8
fullscreen = true
resolution x = 2560
resolution y = 1440
vsync = false
framerate limit = 144

[Camera]
field of view = 91
viewing distance = 23552
#viewing distance = 21903
third person camera distance = 80.9656
view over shoulder = true
head bobbing = false

[Cell]
#preload enabled = true
#preload num threads = 4
#preload exterior grid = true
#exterior cell load distance = 4

[Terrain]
distant terrain = True
object paging min size = 0.06

[Input]
always run = true
toggle sneak = true

[Saves]
character = radeon
max quicksaves = 3
timeplayed = true

[General]
texture mipmap = linear
anisotropy = 8
notify on saved screenshot = true

[Water]
refraction = true
rtt size = 2048
shader = true

[Game]
shield sheathing = true
use additional anim sources = true
weapon sheathing = true

best attack = false
followers attack on sight = true
NPCs avoid collisions = true
barter disposition change is permanent = true
actors processing range = 5404
prevent merchant equipping = true
use magic item animations = true
smooth movement = true
turn to movement direction = true
classic reflected absorb spells behavior = false
show melee info = true
show projectile damage = true

[Map]
global = true
allow zooming = true

[Shadows]
enable shadows = true
actor shadows = true
player shadows = true
object shadows = true
terrain shadows = true
shadow fade start = 0.7
shadow map resolution = 2048
enable indoor shadows = true
maximum shadow map distance = 6500

[Windows]
spells h = 0.546182
spells w = 0.471875
spells x = 0.517969
spells y = 0.396364
alchemy h = 0.500694
alchemy w = 0.5
alchemy x = 0.25
alchemy y = 0.25
inventory avatar = true
inventory h = 0.636364
inventory w = 0.496094
inventory x = 0.00585938
inventory y = 0.316364
map h = 0.367619
map w = 0.469048
map x = 0.517857
map y = 0.0142857
stats h = 0.298909
stats w = 0.494922
stats x = 0.00546875
stats y = 0.0101818
map pin = false

[Sound]
master volume = 0.635764
device = 
hrtf = 
music volume = 0.348235

[GUI]
menu transparency = 0.757176
stretch menu background = false
color topic enable = true
scaling factor = 1.25

[Shaders]
auto use object normal maps = true
auto use object specular maps = true
auto use terrain normal maps = true
auto use terrain specular maps = true
apply lighting to environment maps = true
maximum light distance = 8192
lighting method = shaders compatibility
radial fog = true

[Physics]
async num threads = 2

EDIT: I uploaded the original HTML chart.
Attachments
chart.html.zip
(3 KiB) Downloaded 71 times
openmw_gpu_load.png
Last edited by Naugrim on 03 Dec 2021, 23:38, edited 1 time in total.
User avatar
AnyOldName3
Posts: 2666
Joined: 26 Nov 2015, 03:25

Re: GPU not fully used (desktop, Ryzen 3700X, Radeon 5700XT)

Post by AnyOldName3 »

I don't think any CPU exists that won't be a bottleneck in cities in OpenMW if you're aiming for >120 FPS and want graphics settings turned up. Morrowind's assets are ludicrously badly optimised by modern standards, so require (among other things) a huge number of draw calls for the amount of geometry they actually contain. We do what we can to mitigate this when object paging is on, but there are no silver bullets.
User avatar
psi29a
Posts: 5355
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: GPU not fully used (desktop, Ryzen 3700X, Radeon 5700XT)

Post by psi29a »

Naugrim wrote: 01 Dec 2021, 00:22But GPU load is more r less consistent (max 83%, min 58%) and CPU does not go above 20%.
I suspect here that you're seeing 20% not from a CPU, but rather 20% across all cores, meaning that it is likely that there is one thread (the draw call) using 100% of 1 core. That's just the painful limitation of OpenGL having to serialise data to the GPU and how awful the original assets are. Modded content is often worse, though in the last few years more people have been paying attention to this.

Morrowind.exe doesn't fair much better.

There are projects out there like Project Atlas that try to simplify the meshes to be more in line with modern games.

By modern games, we mean that they usually have triangle/vert budgets per scene to limit the draw call and use more of the GPU. These budgets are pretty modest, but Morrowind... blows past these budgets because they cranked up the fog to limit the view distance, so they never had to bother with limitations.

As a result, as you peal back these 'workarounds' (aka remove fog, extend view distance), you see how unoptimised Morrowind really was.

OpenMW does not modify content, it does its best with what it is given.
Naugrim
Posts: 172
Joined: 08 Jan 2016, 01:32
Location: Spain

Re: GPU not fully used (desktop, Ryzen 3700X, Radeon 5700XT)

Post by Naugrim »

psi29a wrote: 02 Dec 2021, 09:35 I suspect here that you're seeing 20% not from a CPU, but rather 20% across all cores, meaning that it is likely that there is one thread (the draw call) using 100% of 1 core. That's just the painful limitation of OpenGL having to serialise data to the GPU and how awful the original assets are. Modded content is often worse, though in the last few years more people have been paying attention to this.
I was suspecting something like that, not the first time I hear that :oops: But seeing it first hard is amazing.
I enabled "per core" monitoring I could confirm that one of them spikes to 100%.

Thank you all for the detailed explanations!
Post Reply