hrydgard/ppsspp — pull request #2542 by unknownbrackets (2013-06-30 04:03:07+00:00)
Title: Add an optional hack to force < 60 FPS

I don't really like hacks, especially options that just add complexity for users. But this is actually a relatively safe option we could theoretically even consider defaulting on. It simply doesn't let the game flip more than 60 times per second. This is a workaround hack for #2010.

This vastly improves the performance of God of War and Fat Princess, which can render are a mostly stable 60 / 60 on my hardware. The only problem I've found is that it makes the battle animation worse in Tales of Phantasia X (there's something else going on there, but maxing out fps makes the problem wiz by faster.)

Anyway, there are other related changes included:
* Instead of "VPS", uses "Speed" to be clearer. "FPS" is replaced with "FPES" (in setting it names it, "frames per emusecond.") The rationale here is to prevent users getting confused about the two values.
* Reduces the fudge factors for GPU cycles. This improves games that see an incorrect slowdown in some areas. So far, it seems like these games can also tolerate the 60 FPS limit hack. Side note: in the menu, God of War (demo at least) was actually affected by this slowdown, and rendering 45 FPS incorrectly.
* Adds a setting to the old UI for forcing the FPS, and cleans up the other FPS related UI a tiny bit, adding a bit more space for translations and making a few strings translatable.

Note that the setting is intentionally set up so that other values, such as 45, 30, 20, 15, and 10 are configurable. This is so power users/testers can investigate problems. The UI also intentionally does not provide these options because anything lower than 60 is much more likely to cause issues.

New strings added by these changes:
* Show 60 FPS or less
* Show speed / frames per emusecond
* (60.0 is full speed, FPES depends on game)
* Display: Speed
* Display: FPES
* Display: Both
* Speed
* FPES
* Toggled Speed Limit
* Speed :

Removed strings:
* Show VPS/FPS
* VPS
* FPS
* FPS Limit
* FPS :

-[Unknown]