Speed Hacks: tested and rated.
Everyone with non-super computers loves speed hacks, myself included. Some break games, some cause graphic glitches, some just work perfectly... but as far as I know, no one has tried to comprehensively go through and test each one in several games to give results on which offer the most and least improvement (and thus which ones are worth turning on and which may be an unnecessary risk that could end up causing a random crash).

The experiment: Using a very methodical approach to testing each and every speed hack or method to improve gameplay speed (aside from adjusting resolution of the graphics plugin). Each test will be done on the same game in 2 different locations. The first test will be in a menu (generally the fastest part of a game) and the second test will be run during a heavy action or animated section (generally the slowest/hardest parts to be emulated)

Admittedly, I don't have the largest of game collections and only about half the games I have are currently dumped to my PC (why dump them all at once and eat hard drive space when I won't immediately get around to them)

Both tests are done on each game, the scores will be averaged then subtracted from the baseline to give a rating (+ or - the default settings). After all of the games are tested, those numbers for each test across ALL games tested will be averaged to give a final rating score. A note about any bugs that appear for each test will also be given.

Test System:
AMD x2 5000+ @ 2.9ghz
ATi HD3850 @ stock
4GB ram
Windows 7 RC

PCSX Rev 1660 (latest Revision as of this post, default settings except where mentioned in testing, Frame limiter turned off for benchmarking)
GSDx Rev 1637 (default settings)
SPU2-X 1.2.0 (default settings)

Games (in order of testing, all games are NTSC U except Generation of CE)
Megaman X Command Mission
Disgaea Hour of Darkness
Dot Hack//GU Volume 1
Final Fantasy X
Final Fantasy 12
Katamari Damacy
Persona 3
Persona 4
Dynasty Warriors Gundam 2
Gundam Seed Destiny Generation of CE (J)

Megaman X Command Mission:
Baseline Menu: 225%
Baseline In battle: 130%
Baseline total: 177.5%

microVU0 Menu: 225%
Battle: 133%
Total Average: 179% (+1.5)

microVU1 menu: 222%
battle: 120%
Total: 173% (-4.5)

1.5x cycle menu: 244%
battle: 140%
Total: 192% (+14.5)

2.0x cycle menu: 274%
battle: 150%
Total: 212% (+34.5)

INTC Sync menu: 223%
battle: 134%
total: 178.5 (+1)

Enable IOP x2 menu: 240%
battle: 140%
Total: 189% (+11.5)

Idle Loop Fast Forward menu: 262%
battle: 146%
total: 204% (+26.5)

MicroVU0+1+StatusFlagHack menu= 225%
battle= 132%
total= 178.5% (+1)

MicroVU0+1+Min/Max menu= 221%
battle= 120%
total= 170.5% (-7)

Cycle Stealing Menu: 224% (constant)
Battle: 127% 130% 136% 143%
Total: 175.5%-183.5 (-2 to +6)

Disgaea 1:

Baseline:315% (same for battle/menu)

MicroVU0: 313% (-2)
MicroVU1: 313% (-2)
1.5x Cycle: 348% (+33)
2.0 Cycle: 389% (+74)
INTC Sync: 486% (+171 wow, this must be one of those huge speedups it's talking about ^_^)
IOP 2x: 329 (+14)
Idle Loop Fast Forward: 314% (-1)
MicroVU0+1+Status hack: 312% (-3)
MicroVU0+1+Min/Max: 316% (+1)
VU Cycle Steal: 310-314% (-5 to -1)

Dot Hack//GU Vol 1 (requires microVU0 on) (note game is VERY GPU limiting)

Baseline Menu: 43% (ouch -_-)
Baseline In Major City: 60%
Baseline total: 51.5%

microVU1 menu: 42%
city: 57%
Total: 49.5% (-2)

1.5x cycle menu: 44%
city: 62%
Total: 53% (+1.5)

2.0x cycle menu: 44%
city: 63%
Total: 53.5% (+2)

INTC Sync menu: 43%
city: 61%
total: 52% (+.5)

Enable IOP x2 menu: 43%
city: 60%
Total: 51.5% (0)

Idle Loop Fast Forward menu: 43%
city: 63%
total: 53% (+1.5)

MicroVU0+1+StatusFlagHack menu: 43%
city: 60%
total: 51.5% (0)

MicroVU0+1+Min/Max menu: 43%
city: 60%
total: 51.5% (0)

Cycle Stealing Menu: 44-83%
city: 61- 110%
Total: 52.5- 96.5% (0 to +45)

Whew... This is actually taking longer than I figured it would... I'll update this top post with results as I test more games from the list above (don't bother with requests, if the game isn't on that list, chances are I don't have it, or don't have the will to dump it from my actual disk). Still, these 3 games should be a pretty good indicator of the 3 "classes" of PS2 games to start out with... Typical 2d game (disgaea) "Light" 3d game (Megaman Command Mission) and Heavy 3d game (Dot Hack//GU). So far the results are...

MicroVU0: -1.16 rating
MicroVU1: -2.83
1.5x: +16.3
2.0x: +36.8
INTC: +57.5 (disgaea really throws this out of proper proportion, the number will fall when I get the time to test other games)
IOP: +8.5
Idle Loop: +9
Status Flag: -.6
Min/Max: -2
Cycle Stealing: -.23 to +16.7

What do these numbers tell us so far? Honestly, not a whole lot. These games varied too much and there isn't enough here to be statistically consistant except on a few things. First, MicroVU0 and 1 are still slower than SuperVU in most circumstances. Second, the largest improvements to speed, were unsurprisingly to the 2D game. Thirdly, in a GPU limited game it's not likely that any amount of speed hacks you use will increase playability (note Cycle Stealing slows down the game as much if not more than it helps, despite the higher percentage). And finally, the biggest speed ups are tied directly to the hacks most likely to break a game. Bummer ^_^

I'll try having the rest of the results from my games in the next couple days to give a better picture in general on the different speed ups.
[Image: 2748844.png]

Sponsored links

The initiative is really good and your results are interesting but you are making one fatal mistake. PCSX2's FPS counter can and will report false values with speed hacks on. Even with hacks off it is still not very accurate.
I'd suggest you make your tests with a program like FRAPS to measure your FPS. Also choose static scenes for testing where nothing in the foreground or background is changing for even more accurate results (use save states for that or even better, a gs state) Wink
[Image: newsig.jpg]
Bositman: The menus are static, the city scenes in .hack are of an empty area (too hard to maintain a constant FPS with people coming to and fro into the scene) and the battle scene in Command mission is without any action going on (an average of about 30 seconds). I loaded a save state for each test to make sure circumstances were identical.

I'll take your advice and switch over to using fraps and redo all of this as well as work on my other games to give more accurate results as you say.
[Image: 2748844.png]
You can also use the FPS counter in ATI Tray Tools. I generally prefer it over Fraps, tho I admit that's entirely personal preference and there's no technical reason to prefer one over the other.
Jake Stine (Air) - Programmer - PCSX2 Dev Team
Fraps usually shows exactly the same fake fps for me as GSdx, maybe only register them if the game actually feels faster?
Core i5 3570k -- Geforce GTX 670  --  Windows 7 x64

Users browsing this thread: 1 Guest(s)