Dolphin, the GameCube and Wii emulator - Forums

Full Version: Testing wanted - newer-ppcanalyst (CPU core improvements)
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2 3
Hey hey everyone,

I've been working on JIT core improvements for a while now but they have never seen the light of day since I haven't felt they were up to snuff or fully completed. There are quite a lot of changes in the pipeline for these JIT core improvements.
This is the first step on the road to the JIT improvements.
From a technical standpoint of this change, what it changes is that it improves our CPU block sizes by compiling through conditional branching instructions. This improves speed in the JIT recompiler since we stop bouncing back and forth from JIT code and our JIT dispatcher as often.

From my amount of benchmarking I've seen improvements from 0% to 11% CPU speed improvements.
I've tested the povray bench a couple of times. Without the changes I got these results {10:42, 10:34}. With the changes I got {9:37, 9:51}. That's a 7% to 11% speed improvement.
While the povray bench is purely synthetic, it is still nice to see that such a simple change has done quite a decent speed increase.

For testing, persons should run a variety of games to see improvements where one is limited due to CPU emulation, not CPU limited in say the video backend or GPU emulation.
It shouldn't cause any emulation issues, or speed regressions. But of course it should always be tested for.
This only affects the Jit64 and JitArm32 CPU cores. It doesn't touch the Jit64IL or JitArmIL CPU cores.
Doesn't matter in most cases for Android since in 90% of cases we are limited by the video drivers on Mali and Adreno devices. Currently our WIP system isn't outputting APK files that anyone can download, so we'll have to wait on that.

For building on Linux/OS X/Android.
- Checkout my github repo.
- Checkout the branch
- Build it.

git clone https://github.com/Sonicadvance1/dolphin.git
git checkout newer-ppcanalyst

Windows builds: [UPDATED!!!]
x86: http://dl.dolphin-emu.org/wips/degasus-dolphin-newer-ppcanalyst-4.0-1491-x86.7z
x86_64: http://dl.dolphin-emu.org/wips/degasus-dolphin-newer-ppcanalyst-4.0-1491-x64.7z
Speeds up Virtual Console games by about 7 - 11%. All my GC and Wii games I tested run just as fine as on master or a little better, usually about 1 - 3% faster.
With 1xIR:

Super Mario Sunshine PAL
4.0-1487 - 75FPS
This - 68FPS


It seems to be based on a version before the zelda uCode change? Is there any way you can update it because it's slower than the current master in zelda uCode games for me.

EDIT: Nevermind, scratch that. Seems like Dolphin needs a shadercache first. It's actually 1FPS faster

Shadoxfix

Using 4x IR, 4x SSAA and 16x AF:

Beyond Good and Evil: 48 FPS to 51 FPS (using HLE)
Wind Waker: 28 FPS to 34 FPS (using LLE recompiler)
Double Dash: 56 FPS to 59 DD (using LLE recompiler)


Overall it seems faster however the build provided (for windows) is 4.0-1038 while mine is 4.0-1312. Any chance on an updated version for a better comparison.

Edit: This test is not valid. See updated comment later on.
With the new Zelda uCode HLE change committed, I do not have any games that seem CPU limited (or at least I dont see any slowdowns). Would turning frame limiter off and testing that way be valid?

If not, can someone recommend a few games that are the CPU heaviest?
Actually anyone using the Windows builds will need to retest.

I had issues with our WIP build system since this is the first time I used it, the previous builds didn't have any of the changes in it.

JMC's tests are still valid since he compiled his own.

Shadoxfix

(04-30-2014, 11:19 PM)Shadoxfix Wrote: [ -> ]Using 4x IR, 4x SSAA and 16x AF:

Beyond Good and Evil: 48 FPS to 51 FPS (using HLE)
Wind Waker: 28 FPS to 34 FPS (using LLE recompiler)
Double Dash: 56 FPS to 59 DD (using LLE recompiler)

Overall it seems faster however the build provided (for windows) is 4.0-1038 while mine is 4.0-1312. Any chance on an updated version for a better comparison.

I got a new version from IRC which is 4.0-1487, comparing it to the normal 4.0-1487 results in:

Wind Waker: 31 FPS to 30 FPS (HLE, probably margin of error)
Double Dash: 56 FPS to 58 FPS (HLE)
Beyond Good and Evil: Did not test, this game apparantly broke somewhere between 4.0-1312 and 4.0-1487.
(04-30-2014, 11:19 PM)haddockd Wrote: [ -> ]With the new Zelda uCode HLE change committed, I do not have any games that seem CPU limited (or at least I dont see any slowdowns). Would turning frame limiter off and testing that way be valid?

If not, can someone recommend a few games that are the CPU heaviest?

Turning off the limiter to see if there is an improvement is fine.
(04-30-2014, 11:30 PM)Sonicadvance1 Wrote: [ -> ]Actually anyone using the Windows builds will need to retest.

I had issues with our WIP build system since this is the first time I used it, the previous builds didn't have any of the changes in it.

JMC's tests are still valid since he compiled his own.

Thanks

I'm seeing a pretty good improvement in Metroid Prime, when compared to the same revision without these changes. Though I can't exactly measure it, because it's jumping around all the time, it maxes out at around 220FPS without the changes, and 236FPS with them.
Will give it a shot, looks interesting.

ADD: It might be realted to being playin on battery mode, but there (Mario Kart DD) are some small-and-fast "hangs" when in any kind of transition.
Pages: 1 2 3