Dolphin, the GameCube and Wii emulator - Forums

Full Version: Performance increase with CPU downclock?
You're currently viewing a stripped down version of our content. View the full version with proper formatting.

Geemee

Hello people of the dolphin forums!

I'd like to discuss with you an unusual finding that I came across;
I've tried many times to run NFS Nitro on my emulator, but usually with poor results; I've tried almost any possible option and tweak, but sadly, framerate was always fluctuating between 42 and 56 FPS.

Today I decided to try to lower the internal render resolution (I usually play with 2X native) to see if I could squeeze some more frames, but even after setting the internal res to native, performance was unchanged, or even lower.

It was then that i decided to try something that I never did before: try to override the emulated Wii CPU clock; I set it to 130% increase, about 865 MHz, but still no change. I then tried to rise it to 200%, nearly 1500 MHz, but the result was a sharp decrease in framerate, usually 30-35 fps.

I said to myself: "But what if I decrease the emulated wii cpu clock then? And it actually worked! I put it at around 72% (523 MHz) and the result was 60 FPS capped, even with 2x native resolution!

My question is, how did that happen?  Huh  Has something like this ever happened to you before?  

I'd love to hear your opinion  Smile
By reducing the emulated console clock speed, you are effectively lowering the threshold your CPU needs to hit for "100%" game speed. The emulated console is slower, thus it's easier to reach full speed. It's a good solution for people who don't mind a slight FPS drop as long as the game speed and audio stays at regular pace.

Ideally you would have a CPU that lets you push FPS override above, for games that have drops in framerate, so you can keep 100% speed and maintain higher actual game fps.
The simple answer is that your CPU is slow. By down-clocking the emulated CPU, there's less strain on your CPU, thus the game runs faster.

Geemee

(03-18-2017, 07:37 AM)DaRkL3AD3R Wrote: [ -> ]By reducing the emulated console clock speed, you are effectively lowering the threshold your CPU needs to hit for "100%" game speed. The emulated console is slower, thus it's easier to reach full speed. It's a good solution for people who don't mind a slight FPS drop as long as the game speed and audio stays at regular pace.

Ideally you would have a CPU that lets you push FPS override above, for games that have drops in framerate, so you can keep 100% speed and maintain higher actual game fps.

Thanks for the explanation! Surely my rig is not as powerful as yours (Q9400 2.7GHz) but I usually have no problem reaching 60 FPS in Wii games (Xenoblade, Mario Galaxy 1&2, Brawl, Monster Hunter Tri). That's good to know though!
The issue in these games is that they don't run a straight 60 FPS on console. They rely on an automatic frameskip based on something in the GPU, and we don't emulate the timings well. So these crappy multi-platform games are among the most demanding on the Wii because they run way faster than they do on console.

Geemee

(03-18-2017, 10:47 AM)JMC47 Wrote: [ -> ]The issue in these games is that they don't run a straight 60 FPS on console.  They rely on an automatic frameskip based on something in the GPU, and we don't emulate the timings well.  So these crappy multi-platform games are among the most demanding on the Wii because they run way faster than they do on console.
Thanks for the explanation!
Hmm, i see it differently. Now that you are taking away cpu time from the game, it runs differently as it does on real hardware, so don't be surprised if you run into bugs.

On the other hand, it might be that Dolphin is not detecting the, or at least one, idle loop of the game. So the saved processing power might be wasted completely in an idle loop when you run the game with 100% cpu speed.