Move CoreTiming::downcount to PowerPC::ppcState.

This isn't technically the correct place to have the downcount variable, but it is similar to what PPSSPP does to gain a bit of extra speed on ARM.
We access this variable quite a bit, with each exit in a block it is subtracted from.
On ARM this required four instructions to load and store the value, while now it only requires two.

This gives an average of 1FPS gain to most games.
Examples:
Crazy Taxi: 54FPS -> 55FPS
Luigi's Mansion: 20FPS -> 21FPS
Wind Waker(Save Screen): 27FPS -> 28FPS

This seems to average a 6mhz to 16mhz CPU core emulation improvement in the few games I've tested.
This commit is contained in:
Ryan Houdek
2014-06-16 22:47:10 -05:00
parent 177658aed6
commit a40ae6883a
13 changed files with 48 additions and 53 deletions

View File

@ -78,7 +78,6 @@ void SetFakeTBStartTicks(u64 val);
void ForceExceptionCheck(int cycles);
extern int downcount;
extern int slicelength;
}; // end of namespace