Page 1 of 10

CPU and Single Core Implications

Posted: 03 Aug 2017, 21:09
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

Re: CPU and Single Core Implications

Posted: 04 Aug 2017, 13:19
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.

Re: CPU and Single Core Implications

Posted: 04 Aug 2017, 14:13
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.

Re: CPU and Single Core Implications

Posted: 04 Aug 2017, 14:38
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.

Re: CPU and Single Core Implications

Posted: 04 Aug 2017, 17:40
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.

Re: CPU and Single Core Implications

Posted: 04 Aug 2017, 23:24
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.

Re: CPU and Single Core Implications

Posted: 05 Aug 2017, 11:39
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.

Re: CPU and Single Core Implications

Posted: 03 Dec 2017, 21:17
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.

Re: CPU and Single Core Implications

Posted: 04 Dec 2017, 01:44
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.

Re: CPU and Single Core Implications

Posted: 04 Dec 2017, 14:14
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.