While I guess Iâm one of the lucky ones, with my performance having been pretty good so far, there are a lot of people out there having problems trying to play Elden Ring on the PC. Those playing on Valveâs Steam Deck are not among them.
Stuttering has been a huge issue for PC players since the gameâs launch, even after an update, and many suspected this was down to the way the game compiled shaders, or in this case, how it doesnât do it very well. (Not that Elden Ring is alone here. Google âcompile shaders PCâ and youâll find a ton of games suffering performance hits and a case of the stutters.)
This doesnât happen on consoles because, with fixed hardware (as in, everyoneâs console is exactly the same, and doesnât have the infinite component variations present on PC), it can be done ahead of time instead of every time you fire a game up, as so often happens with a PC game. The Steam Deck, while being a PC, is also a piece of fixed hardware, so can enjoy the same benefits, provided Valve is able to implement them.
Which in this case they have. Hereâs Valveâs Pierre-Loup Griffais showing off the Steam Deck versionâs improvements last month in a preview build of an optimisation fix that is now live for all users:
The graphics team has been hard at work on optimizing ELDEN RING for Steam Deck. Fixes for heavy stutter during background streaming of assets will be available in a Proton release next week, but are available to test now on the bleeding-edge branch of Experimental. pic.twitter.com/5oSnXtF2OG
â Pierre-Loup Griffais (@Plagman2) February 26, 2022
As Griffais tells Eurogamer,
On the Linux/Proton side, we have a pretty extensive shader pre-caching system with multiple levels of source-level and binary cache representations pre-seeded and shared across users. On the Deck, we take this to the next level, since we have a unique GPU/driver combination to target, and the majority of the shaders that you run locally are actually pre-built on servers in our infrastructure. When the game is trying to issue a shader compile through its graphics API of choice, those are usually skipped, as we find the pre-compiled cache entry on disk.
That said, it turns out shader compiling wasnât the main issue here, as was originally thought. Instead, Graffais says it was actually down to:
Shader pipeline-driven stutter isnât the majority of the big hitches weâve seen in that game. The recent example weâve highlighted has more to do with the game creating many thousand resources such as command buffers at certain spots, which was making our memory manager go into overdrive trying to handle it. We cache such allocations more aggressively now, which seems to have helped a ton.
Who could have guessed that one of this handheld PCâs biggest surprise strengths would be the fact it was basically built like a console. Anyway if you want get really into the technical stuff behind this, Eurogamer and Digital Foundry put a video together explaining the nitty gritty here. And if youâre currently playing on PC and still having problems, a fan-made fix turned up overnight that might help