Dolphin, the GameCube and Wii emulator - Forums

Full Version: Observation/warning with Ryzen XFB on Windows.
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3
I have recently assembled a computer using the x370 chipset - a Ryzen 1600x, DDR4 3200 (14-14-14-34 Samsung B Die Gskill FlareX), and an RX 580.

Originally, I was going to post a question whether anyone upgrading from windows 7 to 10 noticed any performance differences in Dolphin using the same backend, as dozens and dozens of AAA gaming benchmarks online seem to indicate with Ryzen that Windows 7 actually performs better in many cases. Instead, I took some initiative and installed W10 LTSB on the new computer, updated all chipset and gpu drivers to the latest versions, ran the "Unofficial" Dolphin 5.0 Benchmark, and recorded the numbers, planning to then install W7 and see if I could notice a difference. However the initial results were a surprise.

I had purchased the Ryzen 1600x based on the knowledge that Dolphin is a dual-core application. The Ryzen 1600x, with its XFB (Extended Frequency Boost), is supposed to boost the frequency of up to 2 of the 6 CPU cores to 4.0Ghz automagically, specifically for single and dual-core applications where its many threads were not advantageous. I thought this would work out perfectly with Dolphin, but the numbers do not seem to support that.
Running nothing but the Dolphin Benchmark and CPU-Z/Windows Task Manager, with no overclock, the CPU maxed its frequency out at 3.5Ghz! Some online say that the XFB boosts so quickly that you cannot see it in monitoring tools, however, after OCing to 3.9Ghz using a quick and dirty one-click OC utility for my motherboard (ROG Strix) I saw a 20 second improvement in the benchmark! Going from 8m 7s to 7m 47s. Clearly, XFB doesn't "do its thing" with Dolphin!

So, it is likely that I will be overclocking my CPU to a stable 4.0 or 4.1, (should be easily attainable if a one-click OC got me a stable 3.9) for performance in Dolphin, but I wanted to share this info with others who may have been under the assumption that XFB was going to be a plug-and-play magic bullet for dual-threaded applications such as Dolphin - it isn't!

I will likely install Win7, run the benchmarks again, and see if there is any change, though I am planning on using Vulkan on whichever OS I settle with anyway. (Now that I think about it, if anybody has read this far, are you aware of any differences between the Vulkan backends on Win7 and 10?)

Anyway, I hope this helps someone else out who may be clicking around for info on Dolphin under Ryzen. 
Keep in mind that Dolphin 5.0 (which said benchmark thread is based on) is over a year old, so for actual testing it'd probably be wise to use a development build of Dolphin instead since they supposedly result in considerably better performance on Ryzen CPUs relative to their Intel counterparts.
A lot of ryzen perf issues were resolved when we migrated to vs2017
(12-04-2017, 10:23 AM)Nintendo Maniac 64 Wrote: [ -> ]Keep in mind that Dolphin 5.0 (which said benchmark thread is based on) is over a year old, so for actual testing it'd probably be wise to use a development build of Dolphin instead since they supposedly result in considerably better performance on Ryzen CPUs relative to their Intel counterparts.

Ah, thank you for mentioning this. I was only aware of Ryzen-specific kinds of performance improvements on Dolphin from the Windows side of things - Power Management profiles, Windows CPU scheduler updates, etc. on Windows 10, but, those were because W10 seemed to suffer compared to 7 early on with Ryzen, not necessarily that 10 was matching 7's performance, and then with the updates it exceeded them, if that makes sense.

But just to clarify - there still isn't any way to run the benchmark on a development build of Dolphin, right? For my personal results, I will definitely now try a development build to play on and bench test by the "Seat of my pants" but I had originally intended the thread to have some specific technical information about my build (One that I had thought would be a decent mid-range Ryzen build, with its little quirks like memory speed kept in mind), and then quantitative performance results to go along with it. Ryzen being new, information is scattered all over the place, and little of it is new regarding Dolphin, so I want to contribute what information I can that is useful. Lots of results using the search tool here were before W10 had the Power Management profile updates, which increased performance while lowering temps, likely due to less throttling and more frequent "Precision boosts" in other software, and maybe other Dolphin optimizations have happened since then as well.

Helios,

Thank you for the heads up about VS2017, too. That would then be (Microsoft) OS independent? I struggle with understanding exactly how backends and drivers and OSes interact, but I'm sure it is more complicated than it is worth to explain here. I will continue to read up on them, and maybe re-consult the progress reports of the past year that were done on Vulkan and DX12.

Thank you both!
(12-04-2017, 11:40 AM)linkdude64 Wrote: [ -> ]there still isn't any way to run the benchmark on a development build of Dolphin, right?

Actually luabench now runs fine out-of-the-box on development versions of Dolphin thanks to the recently revamped XFB emulation.

The only thing is that you still need to change the setting "Speed Limit" from '100%' to 'Unlimited'.


(12-04-2017, 11:40 AM)linkdude64 Wrote: [ -> ]W10 had the Power Management profile updates

That was only for the "Balanced" profile - if you use the "High performance" profile then things weren't really an issue.
(12-04-2017, 11:40 AM)linkdude64 Wrote: [ -> ]Helios,

Thank you for the heads up about VS2017, too. That would then be (Microsoft) OS independent? I struggle with understanding exactly how backends and drivers and OSes interact, but I'm sure it is more complicated than it is worth to explain here. I will continue to read up on them, and maybe re-consult the progress reports of the past year that were done on Vulkan and DX12.


We don't actually know why the newer compiler toolchain fixed the issues. not much a compiler can do to a JIT AFAIK.

It just did.

Also if you run luabench against a dev build, please don't submit it as a test result. The test results are for 5.0 stable
(12-04-2017, 12:04 PM)Helios Wrote: [ -> ]Also if you run luabench against a dev build, please don't submit it as a test result. The test results are for 5.0 stable

In addition, I would appreciate it we don't turn this thread into nor create a new thread for benchmarking dev builds - I'm of the position that we should stick with stable builds of Dolphin for any sort of widespread benchmarking (I will likely create a new thread once Dolphin 5.5 or 6.0 is actually a thing).

Nevertheless, so that you have some sort of idea how your Ryzen compares, I will at least mention that my (Haswell) Pentium G3258 at 4.6GHz achieves a time of 287 seconds (4min 47sec) in luabench running in Dolphin r5991 with stock settings (other than "Speed Limit" obviously). By comparison, the very same CPU configuration gave a time of 329 seconds (5min 29sec) in the Dolphin 5.0 benchmark, so Dolphin r5991 was nearly 15% faster for me.
(12-04-2017, 12:04 PM)Helios Wrote: [ -> ]We don't actually know why the newer compiler toolchain fixed the issues. not much a compiler can do to a JIT AFAIK.

It just did.

Also if you run luabench against a dev build, please don't submit it as a test result. The test results are for 5.0 stable

That's pretty interesting. Okay, yes, I will figure out how to use luabench, but absolutely will not submit it as if it were a bench for 5.0 stable.

NM64,

I can understand wanting only stable builds for benchmarking, and out of respect I will refrain posting my own benchmark score for the moment to try and stop the potential trend before it starts.

However, I would suggest the possibility that since the inception of Dolphin benchmarking, there has not been such a turbulent time in the CPU market. Of course, Intel is still supreme for single-threaded performance, but with their previous architecture, AMD was not even really feasible. Still, I feel the 5.0 benchmark was fair at that time, as it utilized the full power of all available major CPUs. Now, given the >40% IPC increase of this new architecture, I have seen many questions here asked about the viability of a Ryzen build for Dolphin, and many "Yes, it will do 'ok' in Dolphin" or, "Nah, it won't be 'that good' at Dolphin." types of comments which are well-intentioned, but do not really paint a detailed picture for someone who has to be very careful with budgeting their purchases and needs multithreaded performance, but would like to emulate as well. I was curious, but had to search extensively for information about what would give me the best results with Ryzen for the purpose of emulation, and, in the end, I was met with some small disappointment because of a lack of hard information that I replaced with assumptions, hence the OP. (I knew I would get performance less than Intel, but was expecting more than 3.5Ghz performance!)

My intent is only to offer others in the community a more recent snapshot of the current viability of a Ryzen CPU for emulation so they can make more informed purchases, with the impression that it will be many months until any new stable release is made. Luckily, I gave myself some component headroom with overclockability, so this isn't going to break me. Someone with a tighter budget and less cash to spare? If they got a less-expensive motherboard that didn't support overclocking, it might have hit them harder.

As always, thanks for the top-shelf replies.
(12-04-2017, 03:06 PM)linkdude64 Wrote: [ -> ]out of respect I will refrain posting my own benchmark score for the moment to try and stop the potential trend before it starts.

I'm not that paranoid about it, and honestly I want to know how Ryzen performs myself since I may be interested in a Ryzen APU-based system in the future as I've been following Ryzen closely since its initial unveiling around a year ago (so I'm well aware of much of what you stated regarding Ryzen in general).

So post away! Really, my concerns were more about any farther in-depth benchmarking with other CPUs or the like, especially if other users start hi-jacking this thread or get the idea to make a new thread - just posting a couple of your our Ryzen benchmark results in your own thread won't hurt anybody.
(12-04-2017, 03:06 PM)linkdude64 Wrote: [ -> ]...snip...

My intent is only to offer others in the community a more recent snapshot of the current viability of a Ryzen CPU for emulation so they can make more informed purchases, with the impression that it will be many months until any new stable release is made. Luckily, I gave myself some component headroom with overclockability, so this isn't going to break me. Someone with a tighter budget and less cash to spare? If they got a less-expensive motherboard that didn't support overclocking, it might have hit them harder.

As always, thanks for the top-shelf replies.


Awesome thread can't wait to see your benchmarks on how your ryzen system does with the Vulkan backend on both w7 vs w10 and also to see the difference between a intel vs ryzen build.

Like you say it would be nice to have a better picture of how much performance is lost going with a ryzen build vs intel.
Pages: 1 2 3