Dragging it up again FPS and GPU usage

General discussion regarding the OpenMW project.
For technical support, please use the Support subforum.
Post Reply
reddragon72
Posts: 58
Joined: 06 Apr 2019, 20:11

Dragging it up again FPS and GPU usage

Post by reddragon72 » 22 Jun 2020, 00:23

I have mentioned in several other posts about FPS just sucking. I have a new laptop and was hoping for better frames but I only saw a small increase. Someone pointed me towards the Afterburner app to capture GPU usage. I was surprised by how low it is. I was even more surprised by how little the GPU affects FPS.

https://imgur.com/a/xniOyxb

In that post I captured the AMD Ryzon 5 4600H's built-in GPU (first shot) against the GTX 1650 (second shot)

So odd that a discrete GPU barely helps the FPS of a game. I noticed that the GPU usage is extremely low as well. Is there a setting somewhere that I am missing that tells OMW to use the GPU? The Ryzen is helping a bunch but I heard that OMW only uses two CPU cores but this is not true as most of my 12 cores are being used.



Also note the whopping 6 FPS lead from the GTX. I have to be missing something here. I hope.

CMAugust
Posts: 247
Joined: 10 Jan 2016, 00:13

Re: Dragging it up again FPS and GPU usage

Post by CMAugust » 22 Jun 2020, 01:26

Hard to know for sure without more information, but that looks like Old Ebonheart from Tamriel Rebuilt. If someone wanted to make the most CPU-bottlenecked showcase in Morrowind history, they could hardly have done a better job. Tap F3 a few times, and within a list you will see a count of "drawables" - and then consider that even a cutting-edge game like Star Citizen is designed with a draw call budget of 2500 for performance reasons. The GPU utilization is low because has to wait for the CPU to send thousands and thousands of draw instructions every frame.

There are mods you can download named Morrowind Optimization Patch and Project Atlas which have reworked troublesome assets so they're far cheaper to render, but they only cover a slice of Morrowind content at the present. OpenMW plans to do some clever merging of assets on the fly that will greatly improve the situation, but in general mod creators should take steps to ensure scene draw count stays sane.

reddragon72
Posts: 58
Joined: 06 Apr 2019, 20:11

Re: Dragging it up again FPS and GPU usage

Post by reddragon72 » 22 Jun 2020, 02:16

CMAugust wrote:
22 Jun 2020, 01:26
Hard to know for sure without more information, but that looks like Old Ebonheart from Tamriel Rebuilt. If someone wanted to make the most CPU-bottlenecked showcase in Morrowind history, they could hardly have done a better job. Tap F3 a few times, and within a list you will see a count of "drawables" - and then consider that even a cutting-edge game like Star Citizen is designed with a draw call budget of 2500 for performance reasons. The GPU utilization is low because has to wait for the CPU to send thousands and thousands of draw instructions every frame.

There are mods you can download named Morrowind Optimization Patch and Project Atlas which have reworked troublesome assets so they're far cheaper to render, but they only cover a slice of Morrowind content at the present. OpenMW plans to do some clever merging of assets on the fly that will greatly improve the situation, but in general mod creators should take steps to ensure scene draw count stays sane.
I was just reading about the drawables. Very interesting as I thought the GPU actually handle that now. Guess it is different from 3D apps that utilize the GPU to create the draws. Crazy stuff. I have loaded up MOP but not Atlas as I have yet to figure out how to load it up.

FYI Old Eb is bad but boy Almalexia is so even more demanding ;)

So is this entire thing an engine issue or a wireframe issue? I even switched the Tamriel Data to vanilla from HD and it made no diff in FPS. Just getting a grip on this.

CMAugust
Posts: 247
Joined: 10 Jan 2016, 00:13

Re: Dragging it up again FPS and GPU usage

Post by CMAugust » 22 Jun 2020, 03:01

It's not an OpenMW-specific thing, pretty much all graphics in games require CPU to send draw instructions to GPU. The question is how efficiently can you do it.

Fundamentally it's an asset issue. In other words, how the artist built the object and textured it. Most games try to use 1 texture for 1 object whenever possible, because another texture means another material which means another draw call. A nix-hound is cheaper to draw than a rat, because what the nix-hound does with one texture, the rat does with six. Morrowind is chock-full of models like this; what looks like a single object is actually split into pieces with a dozen tiny, tiny textures. It doesn't matter how small the textures are or how low the poly count is, there is a minimum cost to every draw call, and those costs add up. This is true of any game engine; the rule among graphics developers is to keep draw count low. This is why Skyrim usually runs much better than Morrowind, despite looking way more complex and a with a view distance to the horizon. If you create assets intelligently, you can reduce object cost and get a much greater scope of visuals and performance.

User avatar
psi29a
Posts: 4879
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: Dragging it up again FPS and GPU usage

Post by psi29a » 22 Jun 2020, 09:08

To quote CMAugust from another thread (which will go into the FAQ):
Morrowind is notoriously CPU-limited. That is, the CPU sending instructions of what to draw to the GPU. You have to keep in mind just how bad Morrowind meshes are from a performance point of view. Morrowind designers didn't have to worry about real time shadows, or reflections, or seeing for miles in all directions. The first TES game to do what OpenMW is doing (real time shadows on everything) was TESV Skyrim, which has godly efficient assets in comparison. Take trees as an example; what takes 2 draw calls in Skyrim might take 50 in Morrowind, or even more, just because of the way it was built. In OpenMW, at max settings, each of those individual "drawables" need an additional 1 draw call for reflection, 1 for refraction, and 1 for each shadow map. You can see how these things add up. A complex scene in Skyrim might cost about 3000 draw calls per frame; a comparatively barren scene in Morrowind can soar over 8000.

Even cutting edge games like Star Citizen aim for an average draw count of 2500 max. Assets were painstakingly made and remade to use less and less draw calls. Even though OpenMW will continue to be optimised as time goes on, there's only so much a game engine can do with inefficient assets. But for what it's worth, there are ways for the engine to merge a lot of these drawables together at runtime, and that's what OpenMW is going to do more and more in the future. In the meantime, some mod authors actually have painstakingly optimised a lot of meshes to make them more draw efficient. Look for Morrowind Optimization Patch and Project Atlas and you should see a substantial fps boost for many scenes.

DivergentDroid
Posts: 11
Joined: 17 Jun 2020, 02:28

Re: Dragging it up again FPS and GPU usage

Post by DivergentDroid » 22 Jun 2020, 15:53

This may sound Crazy to some but... Stopping all background processes and services that are not needed for playing the game will give you a huge CPU boost and an FPS boost.

If you are a Windows user the fastest way to do this is to switch to Linux. I suggest Zorin as it's the easiest to transition to from Windows due to it's similar look and feel and is based on the most popular Ubuntu so you know you will have tons of community help if you need it.

If you are a Windows user, Then you have a day of work ahead of you. I use Black Vipers Windows processes and services information to weed out all the processes and services I need to lock off so they will not run. This means you'll be stopping and locking off about 70 processes and services that run in the background. It is Critical that you understand Exactly what every process or service does so you don't lock something off that will cause your PC not to crash or fail to boot! Essentially you gut your windows of doing anything else but playing your games. I have been doing this for years on Windows XP to the latest Windows 10 and it Really helps Especially with a Laptop.

- OR -

You can use the Easy Services Optimizer v2.1 by Sordum make the changes and save to a profile. You can also make a Default profile before you make the changes (recommended). In this way by the click of a profile you can instantly reboot your system from Normal operation to your self designed gaming mode. The program is based on Black Vipers process and services information and gives you recommendations at a glance so you don't have to read through all of Black Vipers website. - Depending on your system requirements you can get your startup processes and services down to numbers in the teens or twenties and cause your PC to boot super fast as well. Once you really get to study it, you won't believe how much Crap Microsoft has stuffed into the OS you will never use.

I also strongly agree with replacing the meshes and use the Morrowind Optimization Patch and Project Atlas. I have a Ryzen 5, 1600 model and an RX 580 graphics card and I get an average of 115 frames per second with a just slightly modded OpenMW.

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

Re: Dragging it up again FPS and GPU usage

Post by AnyOldName3 » 22 Jun 2020, 17:05

Are you 100% sure getting rid of background processes genuinely helps? There was a lot of effort put into selling tools that did that ten or fifteen years ago, but independent testing determined that they were just snake oil.
AnyOldName3, Master of Shadows

DivergentDroid
Posts: 11
Joined: 17 Jun 2020, 02:28

Re: Dragging it up again FPS and GPU usage

Post by DivergentDroid » 22 Jun 2020, 18:06

AnyOldName3 wrote:
22 Jun 2020, 17:05
Are you 100% sure getting rid of background processes genuinely helps? There was a lot of effort put into selling tools that did that ten or fifteen years ago, but independent testing determined that they were just snake oil.
What you are describing are tools called Game Boosters which stop many currently running processes that can cause a cpu slowdown. The method I describe is very much more intensive than what those tools do and I have seen it actually give me a 15 to 20 FPS boost on most games with a laptop. It doesn't just stop a process, it makes sure Windows Cannot turn that process or service on in the background for any reason. No need to buy a tool do do it, everything can be done manually through Windows given time and effort or the Easy Services Optimizer which is free. I also use O&O's product ShutUp10 that will keep a lot of unwanted things from running. When I discovered Black Vipers site years ago I used the tweaks just to get a leaner machine but you had to manually study every process and service to know what is safe to lock off. You ask yourself 2 questions: Is my Game going to need this process or service to run and is locking off this process or service going to cause my PC not to start, if the answer is no, lock it off. This will keep Windows from monitoring that process or service so it won't try to call on it which is itself overhead you don't need. It works because you are literally gutting windows of most of it's functionality.

Post Reply