A little over two months ago, coder Illusion released a frame pacing/stutter fix for the FromSoftware games (Bloodborne, Dark Souls 3, Sekiro: Shadows Die Twice, and Elden Ring) that suffer from this issue on PlayStation 4 consoles. His fix is rather simple and involves changing literally just a couple of lines of code. According to him, the issue may have stemmed from multiplatform development.
I could only speculate on the decision to implement their own framerate cap for multi plat games is portability. Not having to deal with API calls for each console is a definite win but they did not realize if their timer precision was off, it will cause inconsistency in frame delivery.
So what are the solutions? A very simple fix to this would be to call the relevant API function calls equivalent to the platform. But calling these functions and giving them appropriate device handle is not enough to fix the issue. We must also lift the game’s broken framerate limiter as well, either by changing Game.FlipMode in the code to 60FPS_* or changing minimum frame update time from 33.33ms to 16.67ms.
Voila! With just a few lines of code, we get proper and consistent 30 frames per second! Killing two bug reports with one stone.
Today, Eurogamer’s Digital Foundry tested Illusion’s patch (which only runs on exploited PlayStation 4 consoles running firmware 9.00 or lower) and largely confirmed his findings.
I played patched versions of each and every FromSoftware game and the difference is often night and day. Stutter on Bloodborne, Dark Souls 3 and Sekiro is gone – the only drops to performance are actual GPU bottlenecks in the most demanding scenes. Only the Elden Ring network test can be examined on a hacked PlayStation 4 (the new game runs on a firmware higher than the exploited 9.0) but this too delivers a more consistent experience – though performance is generally more impacted owing to the higher demands of the open world. Even so, the patched version is still an improvement over the shipping game. All told, in every title I sampled, it’s difficult to see the patched rendition as anything other than the experience as we should have played it.
However, there is no such thing as a free launch. In this case, it means that upon applying this patch to FromSoftware games, their input lag is vastly increased in Digital Foundry’s testing.
While input lag varied a lot on the retail code, on average, the patched Bloodborne was 78ms slower to respond, dropping to 50ms slower on Elden Ring (though the later game is seemingly laggier than the likes of Dark Souls 3 and Bloodborne). This presents us with a dilemma: without Bungie-level optimisation, the patches basically deliver a much better-looking game, but at the expense of slower feedback from the controls. Did Bluepoint solve the problem with its Demon’s Souls Remake? I don’t think so: the 30fps mode in that game is as laggy as the patches, and astonishingly, input lag reduces by 85ms (!) by switching to the performance mode – the way the game should be played. If you own Demon’s Souls Remake, give the 30fps mode a go: it’s very similar to the patched From experience on last-gen machines.
Would you be willing to accept the increased input lag to avoid stuttering and frame pacing issues in FromSoftware games on PS4?