Dolphin, the GameCube and Wii emulator - Forums

Full Version: Poor FPS on Xeon processors
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

cynicalteacher

Hey all,

Been using dolphin with no issues for many years on i3/i5/i7 based machines.

Moved over to a dual CPU Xeon platform and having some real issues.
Currently running on 2x E5-2640 CPUs clocked at 3.0 ghz and struggling to get above 50fps with dolphin on any combination of settings or graphics cores. (12 cores, 24 threads).


Get the best performance out of Vulkan, which will happily sit around 52fps stable but this is worse performance than running it on an older i3 3220 which will sit happily at a 60fps cap.


Any suggestions for dual xeon setups that actually work with it?

This is with a GTX 1050 2GB card. The same card on the older i3 was used for testing.

Thanks,
Matt
Dolphin is an application that relies on single thread performance, which is instructions per clock (IPC) combined with frequency.

That Xenoon E5-2640 loses in both counts. It's a Xenon, so it is designed around having more cores+cache and not for frequency. That E5-2640 only goes up to 3ghz max turbo, that's pretty slow. But where it really gets bad is from it being a Sandy Bridge Xenon from 2012. IPC gets better with new CPUs, thanks to architecture improvements and processes shrinks, so the older the CPU, the worse its IPC. An 8 year old CPU is going to be quite rough. Also it's a Xenon so it can't be overclocked to help with this.

Here's a visual aid to show how this all adds up for single thread performance. Let's compare that Xenon against a modern Core i5-10600 in Cinebench R15, as well as versus your old Core i3.

Cinebench R15 Single Core
  • Xenon E5-2640 - 94
  • Core i3-3220 - 115
  • Core i5-10600k - 215
  • Ryzen 3 3300X - 200

The 10600k, a modern mainstream gaming CPU, CREAMS that old Xenon. This also shows why your Core i3 was outperforming your Xenon in Dolphin; it's better suited for it, though it is still very poor compared to the modern ones on this list. So, I'd recommend using the Core i3 instead of the Xenon for Dolphin.

Or better yet, upgrade! Even if you are on a tight budget, a low end modern CPU or a less-used mainstream CPU would easily outrun your old CPUs, in both Dolphin and productivity.  For example, the Ryzen 3 3300X, a $120 cpu, can run circles around either your CPUs in ANY task. As shown above, it easily wins in single core performance, but it also wins by leaps and bounds in multi core! And it's $120!

Cinebench R15 Multi Core
  • Xenon E5-2640 - 710
  • Core i3-3220 - 295
  • Core i5-10600k - 1615
  • Ryzen 3 3300X - 1129
I just want to point out a few corrections.


(06-03-2020, 11:00 PM)MayImilae Wrote: [ -> ]That Xenoon E5-2640 loses in both counts. It's a Xenon, so it is designed around having more cores+cache and not for frequency. That E5-2640 only goes up to 3ghz max turbo, that's pretty slow. But where it really gets bad is from it being a Sandy Bridge Xenon from 2012. IPC gets better with new CPUs, thanks to architecture improvements and processes shrinks, so the older the CPU, the worse its IPC. An 8 year old CPU is going to be quite rough. Also it's a Xenon so it can't be overclocked to help with this.

1. Xenon is the CPU in the Xbox 360; Xeon is Intel's branding for workstation and server CPUs.

2. Pre-Sandy Bridge Xeon CPUs are actually better choices than non-Xeon chips as they not only had SKUs with higher clockspeeds than the non-Xeon consumer CPUs, but were even overclockable to boot. And since Xeons tended to be binned better, they also tended to overclock better too.

3. Sandy Bridge is actually from 9 years ago (2011); it's just that Intel's HEDT parts that said Xeon belongs to (in this case Sandy Bridge-E) launchd a year after the mainstream LGA1155 Sandy Bridge CPUs.

4. An 8 year old CPU may be rough (even with Ivy Bridge on mainstream LGA1155 which was only maybe 5%-10% faster than Sandy Bridge), but a 7 year old CPU is extremely good still because 2013 was the year that Haswell launched on mainstream desktop (LGA1150), and Haswell was that one architecture that saw weirdly fast performance improvements in emulation workloads where its emulation performance gains were like 2x to 3x that of all other workloads (it was substantial enough that it was basically a key point for getting Dolphin added to Anandtech's CPU benchmark suite, though by then Skylake was a thing). I mean, IPC-wise Intel hasn't moved since Skylake from 2015, so it's not exactly surprising that a part that's just 2 years older than that is still very good.

5. Just a process shrinks does not impact IPC at all - such improvements ared purely down to architecture. This is most evident with Windsor (90nm) vs Brisbane (65nm) Athlon 64 CPUs as well as Nehalem (45nm) vs Westmere (32nm) CPUs where, possibly due to simply having more cache, the larger-node 90nm Windsor and 45nm Nehalem CPUs actually have slightly better IPC than their die-shrunk successors. If die shrinks impacted IPC, then the CPU performance would change in consoles that have dieshrunk CPUs (the Xbox 360 possibly being the most well-known example of going through multiple dieshinks due to the RROD).


(06-03-2020, 11:00 PM)MayImilae Wrote: [ -> ]Or better yet, upgrade! Even if you are on a tight budget, a low end modern CPU or a less-used mainstream CPU would easily outrun your old CPUs, in both Dolphin and productivity. For example, the Ryzen 3 3300X, a $120 cpu, can run circles around either your CPUs in ANY task. As shown above, it easily wins in single core performance, but it also wins by leaps and bounds in multi core! And it's $120!

But it requires both a new motherboard and new RAM, so at bare minimum would be $220 if you get the absolute cheapest AM4 motherboard and a mere single 1x4GB DDR4.

If we're trying to save any and all money, then a used Pentium G3258 (2core/2thread multiplier unlocked Haswell) pared with a used z87 or z97 motherboard can be something like $100 total (which sadly is what I paid for that stuff when new) and can use existing DDR3 RAM.

Normally I would also mention something like the Athlon 3000G which tends to be the go-to ~$50 CPU since availability of Intel's lower-end CPUs at sane prices hasn't been a thing for the last couple years, but sadly Haswell actually has better per-GHz in Dolphin than the Zen1 core does used in the Athlon 3000G, and said Athlon can only be overclocked to like 3.9 to 4GHz while apparently a bad Pentium G3258 overclock is 4.2GHz (and I was able to get mine to 4.6GHz on 1.30v). One can only hope for a refreshed Zen2-based Athlon at some point in the future after the Zen2 desktop Ryzen APUs launch later this year.
On top of the mentioned bad single core performance of the cpu, you might have another issue with your setup. You wrote "2x E5-2640 CPUs", and i guess that's not a typo. Windows tends to ignore important things like your cpu cores being on different physical cpus. It might randomly shuffle Dolphin around on the available cpu cores and then it needs to transfer the data between the 2 physical CPUs, which is pretty slow. In theory, you would get better performance on Dolpin, if you would force it to only use one of your CPUs with the affinity setting in task manager. While you are at it, you might want to only pin it to the phyical cpu cores and not the hyper theading ones, since Windows might use them for something time sensitive.
I don't get this sometimes, but some emulators don't even go below 50FPS!
I think you meant some game don't go above 50. If so pal game were limited to 50fps or 25 fps in some cases. This is because pal work at 50hz compare to ntsc 60hz refresh rate.