CPU and Single Core Implications

General discussion regarding the OpenMW project.
For technical support, please use the Support subforum.
Xenuria
Posts: 45
Joined: 26 Feb 2017, 22:35

CPU and Single Core Implications

Post by Xenuria »

To my understanding most of the engine in OpenMW uses single-core and can't multi-core.
I currently have an Intel Core i7 2600k and it runs at 3.40GHZ.
The best CPU that I can see on the market for it's performance is 4.70GHZ.

What percentage of performance difference would be gained from playing OpenMW with a CPU that had a speed of 4.70GHZ?
I know you can't be precise but I just want a rouge ball park estimate assume for the sake of argument the bottleneck is the CPU, how many more FPS would getting the new CPU give?

Is it worth it?

http://cpu.userbenchmark.com/Compare/AM ... /1812vs621
https://www.cpubenchmark.net/singleThread.html

http://www.userbenchmark.com/UserRun/4526002
Current Hardware
User avatar
AnyOldName3
Posts: 2666
Joined: 26 Nov 2015, 03:25

Re: CPU and Single Core Implications

Post by AnyOldName3 »

Clock frequency isn't everything with single-threaded CPU performance. There are also a lot of other factors which can determine how many instructions get executed in the average clock cycle on a single core, such as how good the cache system is for example. This can even vary significantly from workload to workload, so the only reliable way to predict how much faster one CPU will be than another is to actually test it.
User avatar
psi29a
Posts: 5355
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: CPU and Single Core Implications

Post by psi29a »

OpenMW is multi-core, but the physics sub-system isn't. That's one of many bottlenecks. Fix one thing, then we move on to the next.
User avatar
lysol
Posts: 1513
Joined: 26 Mar 2013, 01:48
Location: Sweden

Re: CPU and Single Core Implications

Post by lysol »

I can't find the post atm, but Chris (I think it was) made a great post quite a while ago about why adding more and more threads (or "cores" if you want) won't necessarily make a game faster and more efficient in all situations.

OpenMW has bottlenecks yes, but it is also still version 0.XX. And as psi29a says, it actually already uses multiple threads (wasn't the background cell loading used in a separate thread right?), and from what I've understood, more threads will be used later with new features. Correct me if I'm wrong here though.
Xenuria
Posts: 45
Joined: 26 Feb 2017, 22:35

Re: CPU and Single Core Implications

Post by Xenuria »

lysol wrote: 04 Aug 2017, 14:38 I can't find the post atm, but Chris (I think it was) made a great post quite a while ago about why adding more and more threads (or "cores" if you want) won't necessarily make a game faster and more efficient in all situations.

OpenMW has bottlenecks yes, but it is also still version 0.XX. And as psi29a says, it actually already uses multiple threads (wasn't the background cell loading used in a separate thread right?), and from what I've understood, more threads will be used later with new features. Correct me if I'm wrong here though.
I think it would be helpful if there was documentation somewhere explaining what the different terms and bars on the F3 graph mean. I have googled around and haven't found anything substantive yet.

Cull
Draw
GPU

Seem to be the ones with the longest bars.
User avatar
AnyOldName3
Posts: 2666
Joined: 26 Nov 2015, 03:25

Re: CPU and Single Core Implications

Post by AnyOldName3 »

All of those are parts of the graphics subsystem.

Culling involves discarding parts of the scene graph which will appear off-screen, such as things behind the camera or off the side (or potentially even things which are behind other things, but OpenMW can't do that, as it would require changes to the game data to actually bring any performance improvement).

Draw is the CPU sending commands to the GPU to tell it to draw the scene.

GPU is the GPU actually executing these commands once it's received them.
User avatar
Pherim
Posts: 140
Joined: 27 Aug 2014, 15:37

Re: CPU and Single Core Implications

Post by Pherim »

Both pages you linked to clearly show that the 2600k has better single thread performance than the FX-9590. In fact, single thread performance was one of the biggest problems of the AMD FX series. Piledriver was slightly better than Bulldozer, though both were inferior to Intel CPUs in this regard. So I don't get why you'd think the FX-9590 would be better? The new Ryzen CPUs appear to have improved quite a bit when it comes to single thread performance, but I'm not sure you'd get a significant boost. Also, I recently read that AMD hardware is in general not ideal for OpenMW because of the OpenGL drivers being CPU-heavy.
Xenuria
Posts: 45
Joined: 26 Feb 2017, 22:35

Re: CPU and Single Core Implications

Post by Xenuria »

I suppose the confusion for me as an outsider with no knowledge of development is why would you prioritize features and quests and mechanics over the core stability and efficiency of the game engine it'self?

It's a single core game, which is not ideal but I am told neccecary.
What about the bottlenecks with grid loading?

I have done extensive testing with all different permutations of settings and configurations. The result is consistently a game client that is gasping for air and refusing to inhale the resources afforded to it by current gen hardware. It uses a small fraction of the VRAM and RAM that it could.

Help me understand.
Eli2
Posts: 52
Joined: 27 Nov 2011, 08:23

Re: CPU and Single Core Implications

Post by Eli2 »

Xenuria wrote: 03 Dec 2017, 21:17 ... why would you prioritize features and quests and mechanics over the core stability and efficiency of the game engine it'self?
Without "quests and mechanics" there is no game to optimize.
Stability is a priority and crashes are rare.
Optimized code can be harder to change, slowing down development.
CMAugust
Posts: 285
Joined: 10 Jan 2016, 00:13

Re: CPU and Single Core Implications

Post by CMAugust »

I've been testing OpenMW since 0.37.0 and have found it almost rock-solid as far as stability's concerned. My copy of Morrowind frequently crashes just exiting the game; I'd say OpenMW has the original beat on that front. As far as frame rate and load stuttering is concerned, that's definitely an ongoing process and requires further attention. Like you, I want a buttery smooth gaming experience at all times.

It's getting there, slowly. This year saw changes to the movement solver by logzero that not only improved performance in collision and NPC-heavy areas, but made it much more pleasant to brush and slide against objects in the world without "catching" on anything and coming to a halt. That's win-win, exactly the kind of improvements I love to see. Scrawl also has his cell preloading feature in now which can help to eliminate those small freezes and hiccups on cell load, though not completely in my experience. Sadly, there are places in the game where my PC can't maintain 60fps (using a i5 2500k) such as Ebonheart, but then again, that area's sub-60 in my vanilla copy too. I don't know what the solution to these lingering performance problems are, but there's no doubt in my mind that more optimizations will come - it's just a question of when.
Post Reply