Dolphin, the GameCube and Wii emulator - Forums

Full Version: Why the low framerate?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2

SlayerSeejay

First specs

AMD Phenom™ II X6 1100T Processor 3.30GHz
16 GB (yes 16, AutoCAD likes RAM) DDR3 1600MHz
XFX Radeon HD 6770 1GB GDDR5 Memory Crossfired with the same

From what I've gathered most of the load is going on the processor, and from what I've seen in forums my processor shouldn't be the issue. Also I've noticed that there are a few people with Over Clocked components (OC) to which I haven't really done, could this be an issue?

I've also looked to see if crossfire were an issue but to my knowledge this isn't an issue because Dolphin (correct me if I'm wrong) is only using shaders from the video cards.

My motherboard does support crossfire but at the moment I can't recall it's exact specifications.

I'm beginning to believe it's the monitor I'm trying to display on which is and HP 2011x of which the max resolution is 1600x900.

I've also attempted the same on a 1080p Television through HDMI which is where my framerate really suffers. On my current display I get 25 fps on a 30 frame game where as on the television it is 21 FPS which is almost unbearable.

I welcome any and all suggestions and thank you in advance. (I'll thank you later too, good day all!)
What games are you trying to run? A phenom II X6 is not going to cut it for a lot of heavier games.
(02-26-2012, 09:05 AM)SlayerSeejay Wrote: [ -> ]from what I've seen in forums my processor shouldn't be the issue.

It is.
Just out of curiosity, what do you all consider the best measure for frame rate performance? Is there maybe an easily accessible cut scene in a popular game, or sort of benchmark? Do you always look for the greatest lower bound, or average? Does Dolphin write to a log while running, so that the data could be used?

I find, for instance in Mario Galaxy, that the frame rate can wildly vary from 50 FPS (in space without much background) to 30-37 FPS (more or less average) to dips on the order of 8 FPS (usually when entering a building, talking to someone etc). I would probably describe my experience as 30 FPS with some slow downs. Maybe the slowdowns are unavoidable...

I apologize if this is common knowledge.
Dolphin :
_No SLI nor CrossFire . Dolphin only use 1 GPU
_No 4 nor 6 cores . Dolphin use 2 + 1 for LLE back-end

For Dolphin : Ivy Bridge > Sandy Bridge >> Nehalem > Core 2 duo / Core 2 Quad >= Phenom II
Phenom II won't cut it
Mario Galaxy + HLE back end = SB i3 2100 @ 3.0Ghz (stock) or Phenom II @ 4.0Ghz
Mario Galaxy + LLE back end = i5 2500k @ 4.4Ghz
The Last Story + EFB to Ram + LLE back end = ???? no CPU could run this without slowdown

Besides Mario Galaxy and some other demanding game , most game should run fine with your specs

Quote:Just out of curiosity, what do you all consider the best measure for frame rate performance? Is there maybe an easily accessible cut scene in a popular game, or sort of benchmark? Do you always look for the greatest lower bound, or average? Does Dolphin write to a log while running, so that the data could be used?

I find, for instance in Mario Galaxy, that the frame rate can wildly vary from 50 FPS (in space without much background) to 30-37 FPS (more or less average) to dips on the order of 8 FPS (usually when entering a building, talking to someone etc). I would probably describe my experience as 30 FPS with some slow downs. Maybe the slowdowns are unavoidable...

I apologize if this is common knowledge.

First of all I should point out that it's the vps that you should be measuring not the fps (or gamespeed is even better than that). I don't know why everybody still measures performance with fps.

And I would say average is probably what we use and sometimes add to that "except in a few spots where it performs very poorly" or something along those lines.
(02-26-2012, 02:46 PM)NaturalViolence Wrote: [ -> ]First of all I should point out that it's the vps that you should be measuring not the fps (or gamespeed is even better than that). I don't know why everybody still measures performance with fps.

And I would say average is probably what we use and sometimes add to that "except in a few spots where it performs very poorly" or something along those lines.
Thanks for the information, how does one go about measuring vps? Using a separate utility? The show statistics option in the advanced graphics menu seems to just output a bunch of variable values and strings, but nothing I really can make sense of.

If I understand correctly (couldn't really find much info on vps), comparing vps to fps would allow someone to determine whether the bottleneck lies in their CPU or GPU for a specific game (with the chosen settings)? Done at an instant in which the game doesn't throttle the FPS down?

Thanks again for the clarification.
Use the emulator in windowed mode, at the bottom left corner you should see a bar that shows engine, fps, vps and speed in %
(02-26-2012, 06:39 PM)Zee530 Wrote: [ -> ]Use the emulator in windowed mode, at the bottom left corner you should see a bar that shows engine, fps, vps and speed in %

OK, thanks! So is it safe to say that if the vps dips significantly down to say 30 during gameplay, the CPU is the bottleneck?

Sorry for all the questions, but am I correct with the following simplified dependencies:

vps : function of CPU speed/type along with graphical hacks and dsp settings.
difference between vps-fps : function of GPU along with graphical enhancements.

What does game speed measure? I apologize if there is a FAQ that describes all of this.

VPS: Think of this as the virtual refresh rate of the virtual display that the emulated system is supposed to be outputting to. If the console is NTSC it is designed to output a 60Hz signal when the system is running at fullspeed (which it always will). If the console is PAL it is designed to output a 50Hz signal when the system is running at fullspeed (assuming EUR60 mode, sometimes called PAL60 mode is off). If the virtual refresh rate drops (the emulated system isn't refreshing the virtual display fast enough) that indicates that the emulated console isn't running at fullspeed. Since every other component is dependent on the cpu this means that the emulated cpu isn't running at fullspeed. So this is a good way to measure the speed of the emulated cpu. Fullspeed is 60 vps for all ntsc games and 50 vps for all pal games (unless you're running them in EUR60 mode).

FPS: The number of frames per second that the emulated gpu is producing. A good way of indicating the speed that the video thread is running at. If the emulated cpu slows down both the vps and fps will go down. But if the emulated gpu slows down you might see only the fps go down or both the vps and fps go down.

Ratios: We already discussed the vps being 60 or 50. But the ratio between the vps and fps is always either 1:1 or 2:1 when the game is running at fullspeed, depending on the game. Meaning that for an NTSC game the vps is going to be 60 vps but the fps will be either 60 fps (1:1) or 30 fps (2:1) depending on the game. For a pal game the vps is going to be 50 vps and the fps is going to be 50 fps (1:1) or 25 fps (2:1) depending on the game.

If the emulated cpu slows down everything will slow down. Meaning if the vps goes down the fps will go down too since the emulated gpu is dependent on the emulated cpu (the emulated cpu produces the commands that the emulated gpu processes). If the emulated gpu slows down you should also see both the vps and fps go down (keeping them in sync) if dolphin emulated the fifo system accurately, but it doesn't so sometimes only the fps goes down (meaning the vps:fps ratio changes).

Gamespeed is determined by the vps.

Emulated cpu = cpu thread
Emulated gpu = video thread

Cpu thread speed is dependent on how fast your cpu is. Video thread speed is dependent on BOTH your cpu and gpu speed. Do not assume that because the video thread is slowing down that you have a gpu bottleneck.

Pages: 1 2