Dolphin, the GameCube and Wii emulator - Forums

Full Version: Reccomended video card upgrade
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Computer specs:
AMD Ryzen Threadripper 1950X
AMD Radeon RX 470
32GB Ram
Ubuntu Linux 18.1
Dolphin version was built from master branch Nov 26
commit 654c4fb1da3a7d626c0775b4ae15780491d59dda
Vulkan rendering

I've just started playing with Dolphin and I've noticed a number of slow downs.  I only have a couple of ROMs, so most of my testing has bee with Super Mario Galaxy.  In more complex scenes, there's a lot of stuttering, and the frame rate drops from 60FPS, to around 25FPS.

I ran top and radeontop to get an idea of what the system was doing and it looks like the CPU load was always around 50-70%, but the graphics pipeline got really deep when the FPS would drop.

So, my thought is that this indicates that my graphics card is probably too old (which the bottleneck in a number of other games anyway) and I was thinking of replacing it.  My question is, is there a preferred card/architecture/manufacturer that people have been using successfully?  The FAQ isn't too specific, but I thought I'd ask.  Also, does this make sense, or does this behavior indicate something else such as audio back end problems, or an IPC issue on the CPU?

Thanks!
While IPC got boosted on AMD´s Ryzen processors, it´s still a good amount of steps behind their Intel counterparts. So I guess a little choking on demanding games like SMG would be expected.

That said, if you´re using the default IR (1X), the Vega GPUs included in Ryzen should be more than enough for flawless Dolphin experience.

And now that I mentioned settings, could you upload screenshots of your current settings (include graphics settings as well)?
To determine if the cpu or the gpu is the problem, disable everything that makes the games look nice and most importantly, disable AA and lower the interner resolution to 1x. If the game runs as fast as before, the cpu is the problem. If it runs fullspeed with the lowered settings, you can either find settings that work well, or get a new gpu.

Hmm, have you tried OpenGL and Vulkan? At least on windows amd gpus are really bad with OpenGL. I think on linux it is important which drivers you use, the open source ones or the closed ones, maybe you should try the other.
(11-28-2018, 01:45 AM)mimimi Wrote: [ -> ]To determine if the cpu or the gpu is the problem, disable everything that makes the games look nice and most importantly, disable AA and lower the interner resolution to 1x. If the game runs as fast as before, the cpu is the problem. If it runs fullspeed with the lowered settings, you can either find settings that work well, or get a new gpu.

Hmm, have you tried OpenGL and Vulkan? At least on windows amd gpus are really bad with OpenGL. I think on linux it is important which drivers you use, the open source ones or the closed ones, maybe you should try the other.

 

I'll try that tonight.  I haven't been able to get Dolphin to work with the openGL backend yet.  That may be a separate problem, but I can crank down all the settings and try again.  I also have a Windows installation so I'll give that a go too.
(11-28-2018, 01:04 AM)DJBarry004 Wrote: [ -> ]While IPC got boosted on AMD´s Ryzen processors, it´s still a good amount of steps behind their Intel counterparts. So I guess a little choking on demanding games like SMG would be expected.

That said, if you´re using the default IR (1X), the Vega GPUs included in Ryzen should be more than enough for flawless Dolphin experience.

And now that I mentioned settings, could you upload screenshots of your current settings (include graphics settings as well)?

The Threadrippers don't have a native GPU.  I'll try to get some settings screen shots when I get home tonight.  Thanks!
Oh, wasn't the threadripper the cpu that amd added a special gaming mode for, that disables cpu cores? Something about latency for data transfer from one group of cpu cores to the other? You could try pinning Dolphin to use only 4 cores that are in the same group(CCX?), and see if that speeds it up. 4 cores is about the max that helps you speed up Dolphin, more cores would just not do anything.
A radeon 470 should be more than enough to play any gamecube game at full speed, possibly even at 4k. Similarly, threadripper may be a few percent behind an equally clocked Intel CPU, you should only really notice that on the most difficult of games (and even then, if a threadripper gets ~25 fps instead of 60, there's no Intel CPU in the world that's so much faster to maintain 60fps doing the same thing.

It's more likely it's an overhead issue rather than a lack of raw power.

Does the same issue occur in OpenGL? What graphics settings do you have enabled? Maybe it's a driver issue.

If you run using numactl to restrict dolphin to physical CPUs from a ccx does that help? Is the system otherwise idle? Maybe it's an issue where the scheduler is putting related threads on different CCXs/dies, and causing lots of overhead when they try to communicate. (e.g. "numactl -C 0-3 dolphin-emu" should restrict it to the first 4 physical CPUs, which at least on my threadripper is a single ccx (and excluding the SMT nodes))
(11-28-2018, 05:47 AM)JonnyH Wrote: [ -> ]A radeon 470 should be more than enough to play any gamecube game at full speed, possibly even at 4k. Similarly, threadripper may be a few percent behind an equally clocked Intel CPU, you should only really notice that on the most difficult of games (and even then, if a threadripper gets ~25 fps instead of 60, there's no Intel CPU in the world that's so much faster to maintain 60fps doing the same thing.

It's more likely it's an overhead issue rather than a lack of raw power.

Does the same issue occur in OpenGL? What graphics settings do you have enabled? Maybe it's a driver issue.

If you run using numactl to restrict dolphin to physical CPUs from a ccx does that help? Is the system otherwise idle? Maybe it's an issue where the scheduler is putting related threads on different CCXs/dies, and causing lots of overhead when they try to communicate. (e.g. "numactl -C 0-3 dolphin-emu" should restrict it to the first 4 physical CPUs, which at least on my threadripper is a single ccx (and excluding the SMT nodes))

Thanks for the advice JonnyH!  I'll give that a try.
Just a couple of updates. I had to work tonight, so not much time for gaming sadly.

I put dolphin on my windows 10 pro install, and used the OpenGL backend. SMG ran smoothly, with only the occasional very minor slow down. OpenGL isn't an option on my Ubuntu install. I'm not sure what the hold up is there. Perhaps it's Mesa driver issue.

I ran the CPU benchmark, which finished in 484s (0h 8min 4s). That seems to be on par with a Ryzen 5 1600x, i7-7600MQ, or i7 2600K according to the spreadsheet, and is just a few seconds faster than the other Threadripper listed. That feels like it's about where I would have expected it.

Last note is that I switched the Windows rendering to Vulkan and ran the same stage I has been playing in Linux, and saw the EXACT SAME SLOW DOWNS in Windows. Vulkan is obviously experimental, so such things are to be expected.

So, it looks like going forward the next issue to focus on is getting OpenGL support working in Ubuntu.
If Ubuntu isn't giving you OpenGL as an option, what is it offering you?
Pages: 1 2