Dolphin, the GameCube and Wii emulator - Forums

Full Version: Why does Ryzen underperform in Dolphin?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
So according to cpubenchmark.net, Ryzen's 1300x is identical in single-threaded performance to an equivalent Intel CPU, the i5 7500. Yet when Ryzen was released we learned that it performed worse in Dolphin compared to Intel's processors.

What accounts for this difference in performance, considering that clock-for-clock Ryzen is right on par with Intel in most other applications? Does it handle SSE4 or AVX2 instructions poorly? Is it a quirk of the Infinity Fabric? Memory performance? I don't know enough about CPUs to really grasp what the issue could be.
Use a development release. Performance should be fine. They benchmark on 5.0 stable.


We don't actually know why Ryzen is slow on 5.0, or what made it fast. It supposedly sped up after the switch to vs2017 compilers, which makes little sense imo. The x86_64 JIT emits it's own instructions. A compiler won't do much about that.
(07-29-2017, 05:30 AM)Helios Wrote: [ -> ]Use a development release. Performance should be fine. They benchmark on 5.0 stable.


We don't actually know why Ryzen is slow on 5.0, or what made it fast. It supposedly sped up after the switch to vs2017 compilers, which makes little sense imo. The x86_64 JIT emits it's own instructions. A compiler won't do much about that.

Ryzen *loves* high memory clocks (apparently the inter-core-complex fabric uses this clock) - and at release I only got 2133mhz out of my ddr4. Now with a few bios updates I get 2933. On some benchmarks that gives a significant speedup.

In my testing it actually beats my (IVB) Intel in 128-bit wise sse instructions clock for clock, but it doesn't support the 256-bit wide fancy new avx instructions as well (though I don't think they're used in dolphin right now, and I suspect SIMD instructions will be pretty useless in the JIT anyway) - and have limited utility on Intel too as the latest-and-greatest processors down-clock themselves on dense avx-256 use, so it's not as much of a speedup as you might have expected).

Possibly related?
seoulgamer Wrote:Ryzen's 1300x is identical in single-threaded performance to an equivalent Intel CPU

Many many benchmarks have shown that it is definitely does not have the same IPC (instructions per clock, a single thread perf measurement that can't be gamed with overclocking) as Intel CPUs. Still, it's IPC is pretty good, and it's closer to Intel than closer than AMD has been in a decade! It's close enough that it's more cores and value approach actually make a bit of sense now. And Ryzen is pretty good for Dolphin, unlike the bulldozer series.
Kabylake have high Clockrate than Ryzen, and has 5 ~ 10% higher IPC than the Ryzen on the same clock...

IPC of Ryzen @ 3.8~4ghz is very good. It's more than enough to run the vast majority of the dolphin games at full speed.
just for reference with the latest core Ryzen 1700@3.2ghz gives 480 seconds, and overclocked to 3.8ghz 420 seconds those are really nice numbers and the relation of peformace per dollar is really nice.
Like the name says, it's still rising—it hasn't hit the top yet.
(07-29-2017, 09:08 AM)Tino Wrote: [ -> ]just for reference with the latest core Ryzen 1700@3.2ghz gives 480 seconds, and overclocked to 3.8ghz 420 seconds those are really nice numbers and the relation of peformace per dollar is really nice.

so nice
So, I could have waited for the 1300X instead of going with the i5 7600, and I'd have gotten only 10% less performance? I wish I had waited, since there's only a small difference between the two, and Ryzen has a proper soldered heat spreader so it should run much cooler.

I was under the impression that the IPC gap between Ryzen and Kaby Lake was much larger in Dolphin than for other applications.
(07-29-2017, 05:30 AM)Helios Wrote: [ -> ]We don't actually know why Ryzen is slow on 5.0, or what made it fast. It supposedly sped up after the switch to vs2017 compilers, which makes little sense imo. The x86_64 JIT emits it's own instructions. A compiler won't do much about that.

Does that mean the numbers in the unofficial benchmark results are wrong as well?
Pages: 1 2