More fps on lower-end CPUs, and no more 20 fps lock on 60 Hz screens
Most reports right now are about the game running too slowly on people's hardware. This release takes more work off the CPU and fixes a frame pacing setting that made things worse on 60 Hz monitors.
1. The G-buffer copies now stay on the graphics card. v0.1.27 moved the lighting to the GPU, but every frame the game still copied its geometry buffers back to the CPU and waited for them. That copy now happens entirely on the GPU. The picture is the same (checked against the original lighting code).
2. Frame pacing "Auto" never locks below 30 fps. In heavy scenes, Auto could pick "every 3rd refresh", which is 20 fps on a 60 Hz monitor, even when the game could do 25-29. Auto now waits at most two refreshes on a 60 or 75 Hz display (three on 120 Hz and above). If you had heavy dips to exactly 20 fps in fights with lots of particles, this was most likely why.
3. Less vertex work every frame. Large meshes the game draws in small pieces were converted from scratch every frame. They now go into the vertex cache once and are reused. Each reuse is still checked against the game's memory, so nothing changes visually.
Measured in the first big fight (the gate), limiting the game to fewer CPU threads:
| CPU threads | Before | Now |
|---|---|---|
| 6 | 39-41 fps | 43-44 fps |
| 4 | 30-31 fps | 31-33 fps |
At 4 threads the game is still limited mostly by the CPU running the PS3's own game code; work on that continues.
This changes the toolkit, so the next build recompiles everything once (the same long build as the first install). Press Update now in the launcher, then Build/Play. Or download inFamous2Recomp-v0.1.28-windows.zip / inFamous2Launcher.exe below.
If anything looks different (lighting, shadows, missing or stretched geometry), please send a Save report from the launcher with a note of where it was.