Dolphin, the GameCube and Wii emulator - Forums

Full Version: Testing needed for a small CPU optimization
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
Pages: 1 2
Hey everyone,

I've got a small optimization patch waiting since the end of July but I've been too lazy to finish it properly. Now that it's done and working, I'd like to know if there are any issues with it.

x64 build: https://www.dropbox.com/s/jfj1i6rpr69qpo7/Dolphin.7z
Source code patch: https://www.dropbox.com/s/o29owyrgri124uk/icache.diff

Please reply to that thread if you can find any issue with that patch. This only impacts Jit64 (so any GPU setting is ok).

This optimization should help a bit when the CPU is the limiting factor, you should be able to see improvements more easily if the GPU is not loaded at all (so IRx1, EFB to Texture, etc.). For example, here is a small benchmark I did on the intro cutscene of Xenoblade on my i7-920: https://docs.google.com/spreadsheet/ccc?key=0AunYlOAfGABxdDlncURPamVHUkVROUxXTm54T1FBREE#gid=0

Thanks in advance to anyone taking some time to test that build!
A small list of games that it would be nice to test first if you have dumps: Tales of Graces, Mario and Sonic Winter Olympics, Indiana Jones Staff of Kings.
Okay, I don't have any of the mentioned games, but I did a little testing anyway. I compared the newest master build (ac2ce8b) with your patched one using Fraps (the benchmark ran 200 seconds for every game/build), I didn't touch any of the settings, so graphic-wise they were pretty low, to compare CPU-performance. Also I didn't move the characters in the game. Here are the results:

BUILD----------GAME----------------------Min., Max., Avg. FPS
Master ---------Zelda: The Wind Waker--------47, 55, 50.245
patch-----------Zelda: The Wind Waker--------48, 56, 52.505
Master----------Zelda: Twilight Princess--------21, 30, 28.325
patch-----------Zelda: Twilight Princess--------24, 31, 28.840
Master----------Super Smash Bros. Brawl-----48, 76, 69.250
patch-----------Super Smash Bros. Brawl------50, 79, 72.530

My system specs are in my signature (the laptop, not the desktop PC).

You can see that there is a small increase in speed in every game tested. I also didn't encounter any issues so far, but I haven't really played a lot yet.
Thanks for reporting that dEnigma Smile The results are about what I expected from that change - not a lot of improvement but still about 5% more FPS in every case.

I'd like to get some more feedback (especially tests with the games I mentioned earlier) before merging that. Could some of you take time to test this and report if it causes new bugs? Thanks!
I can test Mario & Sonic at the Olympic Games, but I don't have the Winter Games one. Would that still be useful?
Committed to master, thanks to everyone who tested and reported feedback (here or on IRC).
(10-07-2012, 05:10 AM)mranonymous Wrote: [ -> ]My question however is whether optimisations such as this could be added into the the official 3.0 build?

It probably can be added if someone really wanted to do it, but the project is moving forward, not backwards.

(10-07-2012, 05:42 AM)mranonymous Wrote: [ -> ]That's very true and understandable! This leads me to my other question, why do I find the official build to be in all cases for me (only have 5 games to test on) faster than the development builds? Does that mean something was added that's sacrificed speed for even more accuracy earlier on in the development builds that I may have missed? Just can't get my head around it really as a game such as SSBB plays at 100% speed all the time pretty much on 3.0, where as on any development build i've tried, that fluctuates dramatically and just generally makes the game unplayable! This is with ofcourse the same settings on each version tried.

Sorry to side track this thread slightly too! I have limited understanding surrounding compiling myself, thus don't know what time is required into adding something like this optimisation into a earlier build, or whether as you say, if it's generally worth it. Thanks again!

The development builds do in fact sacrifice speed for accuracy. If you use the most recent builds though (after the gfx-fixes revert and with this optimization) and on top of that use a build optimized with newer SSE instruction sets than you could possibly get speed similar (but probably still slightly slower) to 3.0.
Games have slowed down generally because of one reason. In the process of getting the broken games working, more instructions have been added which also slows down many of the games that were already working well. Kinda like if I tell you to go to the store and I tell you that the store is straight down the road, you're going to get there faster than if I tell you to make a bunch of extra lefts and rights onto roads you don't need to use on the way there. Smile
Quote:and on top of that use a build optimized with newer SSE instruction sets than you could possibly get speed similar


..........do I really need to go over why this isn't true again?
Pages: 1 2