Frames per second

From Emulation General Wiki
Revision as of 02:18, 7 October 2015 by 66.249.82.252 (talk) (Nintendo 64: This link doesn't work for me)
Jump to navigation Jump to search

There are two kinds of "frames per second".

The first is the virtual FPS. If this is running at 60/60 then the emulator is running at full speed. The second is the real internal FPS, which is whatever the game actually ran at. Most consoles use the following internal FPS based on region:

  • NTSC (USA, Japan): 60FPS
  • PAL (Europe, Australia): 50FPS

Note that in more recent consoles, such as the GameCube/Wii, PAL can also run in 60FPS.

With the move to 3D, however, it took much more CPU power to run games at 60FPS. Most early 3D games run at 30FPS. Some run at even lower frame rates. The Legend of Zelda: Ocarina of Time, for instance, runs at 20FPS. Star Fox runs below that.

Slowdown

If you are experiencing slowdown, it may be that the emulation is too intense for your system. When this happens, both the video and the sound experience slowdown. To counter act this, you can enable speed hacks, use a less intensive emulator/settings or get a new CPU. However, the slowdown may be part of the original game, and will be emulated. As such there is nothing that can be really done, short of reprogramming the game itself or emulating an overclock. When this slowdown occurs, the video will slowdown but the audio will often continue at full speed.

Overclocking

Main article: Overclocking

A way to counter real internal slowdown is to overclock the CPU of the emulated system. This of course requires a faster CPU to run the emulator of course. It may result in a smoother frame rate, or unintended effects such as speeding up the entire game. It is very game and system dependent. Emulators that support this:

Speed Hacks

Using speed hacks can affect both types of FPS in emulators. Most of these are used to alter emulation, sacrificing accuracy for speed to help achieve 60/60FPS. Some speed hacks, however, can lower the internal FPS to raise the emulator's FPS; an example of this is in PCSX2, known as EE cycle stealing, which reduces the clock speed of the virtual CPU used, the Emotion Engine.

There are a few game hacks that optimize game code in order to remove possible instances of in-game slowdown. There also exist a few speed hacks that increase a game's internal frame rate. They only function properly in emulators with overclocked hardware.

60 FPS Patches

These are speed hacks affecting the game's internal FPS for games running at 30 FPS to get them to play at 60 FPS. However, these are often game-specific and very prone to bugs considering many of the games weren't made with 60 FPS in mind.

Nintendo 64

To be used with the 1964 Ultrafast, which includes CPU Overclocking. That alone can cause a speedup in a select few games like GoldenEye, Perfect Dark, Mario Kart 64 (partially: MP, some stages), Carmageddon, and San Francisco Rush games (partially: MP).

  • Zelda Ocarina of Time: While a higher FPS port on the 3DS exist, you can unlock FPS on the N64 version. It works but it's not without flaws like some animations being awkward or too quick. Source.
Zelda 60fps+JumpFix+CrawlFix
D11C8680 0000
801C6F2D 009C
D11C8680 0000
801C6FA1 0003
D31C8680 0000
801C6F2D 00D8
D31C8680 0000
801C6FA1 0001
Draw Distance Fix
8010A711 0099

Some other games have 60 FPS patches too.

PlayStation 2

  • Metal Gear Solid 3 Subsistence NTSC-U (Source):
gametitle=Metal Gear Solid 3 - Subsistence Disc 1 (Limited Edition, SLUS-21359)
comment=Force 60 FPS
patch=1,EE,001D5AD8,extended,00000000
patch=1,EE,001D6DB8,extended,00000001
patch=1,EE,001D6DBC,extended,00000000
gametitle=Metal Gear Solid 3 - Subsistence Disc 1 (Limited Edition, SLUS-21359)
comment=Force 30 FPS
patch=1,EE,001D5AD8,extended,00000040
patch=1,EE,001D6DB8,extended,00000002
patch=1,EE,001D6DBC,extended,00000001

Needs at least 20% overclock on EE. Cutscenes need to have 30 FPS enabled back to be less demanding.

  • Kingdom Hearts series:
// 60 FPS Kingdom Hearts 2 Final Mix patch=1,EE,00349E1C,extended,00000000
// 60 FPS Kingdom Hearts 1 NTSC U/C patch=1,EE,002B624C,extended,00000000
// 60 FPS Kingdom Hearts 1 Final Mix patch=1,EE,002BBE0C,extended,00000000
// 60 FPS Kingdom Hearts 2 NTSC U/C patch=1,EE,00356F4C,extended,00000000
// 60 FPS Kingdom Hearts 1 PAL patch=1,EE,002B67CC,extended,00000000
// 60 FPS Kingdom Hearts Re: Chain of Memories NTSC U/C patch=1,EE,004386B0,extended,00000000
// 60 FPS Kingdom Hearts Re: Chain of Memories JP patch=1,EE,0043C930,extended,00000000

GameCube/Wii

Needs some versions of Dolphin. The overclocking can increase the framerate of games with Vsync, variable FPS or slowdowns in the real console.

There was an option to overclock the GPU (Vbeam speed hack) to get 60fps in Pikmin 1 and 2, but it was eliminated by Dolphin team in recent builds. The VBeam hack was axed by the devs over accuracy concerns and wanting 60 FPS hacks to run on real hardware, or something. You'll have to track down those versions then.

  • Sonic Colors: Use the following Gecko code and set Dolphin's Emulated CPU Clock Override to 200 - 250%
008F2D97 00000001
0090DB0B 00000001
  • Super Mario Sunshine
  • Pikmin
  • Pikmin 2
  • Super Smash Bros Melee
  • Super Smash Bros Brawl

PPSSPP

Some games offered the option in-game to increase the framerate on later PSP models, like notably all versions of Kingdom Hearts Birth By Sleep, and Tales of Destiny 2 (all other Tales ports were downgraded to run at 30 FPS sadly).

A lot of PSP games have codes to increase their framerate almost without any negative effect for the majority (the ones that have bugs with 60 FPS are marked with "b"), and a CWCheat list can be found here. One example:

Kingdom Hearts Birth By Sleep (Japan, US/PAL, Japan Final Mix)
_C1 Force 60 FPS Mode
_L 0x21725EC8 0x00000000