chunkysauce123 / emu-1964

Automatically exported from code.google.com/p/emu-1964
0 stars 0 forks source link

60 fps Perfect Dark #112

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
What steps will reproduce the problem?
1. launch Perfect Dark (U)(V1.1)[!]
2. go in first mission
3. switch to 6x overclock, it will eventually go to 60 fps
4. if it is still 30 fps, go to 1x overclock and to 6x overclock again
5. play around, it will go to 30 fps at some random moment, usually when going 
through a door

What is the expected output? What do you see instead?
60 fps when using 6x overclock

What version of the product are you using? On what operating system?
1964 r146 binary, windows 8 64-bits
no audio, no rsp plugin, glide64 final

Please provide any additional information below.
I'm posting this issue because I have seen in the svn log (revision 104) that 
ultrafast patch has been integrated and I don't know why Perfect Dark stick to 
30 fps. 
Is it the same as this build : http://goldeneye.neocities.org ?
It seems to me that yes, I checked the code, and it seems to be mainly about 
fixing DOUBLE_COUNT to 6 and adding max_vi_count*=DOUBLE_COUNT; which set 
overclock to 6x.
But it seems there is something different now in counter and timing management. 
Here are my tests using 6x overclock :

In 1964 bundle provided here http://goldeneye.neocities.org, with glide64 
final, in the overlay, I can see 60 fps, 120 VI/s, 200%. So the game is at true 
60 fps, but not in fast forward, it's running 100% speed, not 200%. this 
version seems to allow extra VI/s to reach 60 fps. The game is set to use auto 
sync as max VI limit.

In your last 1964 binary (r146), with glide64 final, in the overlay, I can see 
60 fps, 60 VI/s, 100% sometimes, when I mess with the overclock setting. But 
sometimes, when going through a door, it switches back to 30 fps, 60 VI/s, 
100%. It seems that VI/s and fps is perfectly synchronized :
in the glide64 overlay, at 60 fps : VI/s = fps, at 30 fps : VI/s = fps * 2.

When at 60 fps, I have in the status bar : 
core:25% video:25% audio:0% idle:50%

When at 30 fps, I have in the status bar : 
core:15% video:15% audio:0% idle:70%

In both emulators, I used the same glide64 version, same settings.

Last thing: GoldenEye works flawlessly at 60 fps, 60 VI/s, using 6x overclock. 
So maybe there is some specific code for Perfect Dark in the emulator. In 1964 
bundle provided here http://goldeneye.neocities.org, it is said that rsp plugin 
must be disabled...

I hope it sounds clear enough for you and not too long...

Original issue reported on code.google.com by maxime.m...@gmail.com on 23 Jul 2013 at 1:04