
This is how Valve managed to bring Elden Ring to the Steam deck
Elden Ring is the latest game from the developers at From Software and is already a huge commercial success. But even a masterpiece, which could convince with top ratings in our review, is not spared from performance problems. But how did Valve manage to get such a hardware-hungry game running on the Steam deck?
This is an article from our content partner "PC Games". Here you can find the original article.
What causes the performance problems in Elden Ring?
According to Digital Foundry, Windows 10's DirectX 12 API is responsible for Elden Ring's performance issues. Digital Foundry says a game that isn't fully "baked" before you launch it can send the player into a series of never-ending shader compilation jerks.
This is exactly what happens with the PC version of Elden Ring. The game pauses briefly each time to generate important components of the game, such as a new animation, a new enemy, or a new explosion, and that's how the jerks occur.
Shader Precaching - the solution to all problems?
Days before the handheld was shipped to pre-orderers, Valve's software team came up with an idea. Shader compilation works best when it is adapted to the specifications of the PC.
This precaching is in principle nothing new for now and is already used in many games and is the reason why they pause to analyze the respective hadware and compile the shaders accordingly. This is exactly where Valve comes in.
Why does Valve's solution currently only work on the Steam Deck?
Fix applicable for all Steam Deck titles.
Fortunately, Steam Deck is not based on Windows, but on Linux. The "Steam Proton compatibility wrapper" sends all of a game's API data directly to your deck's hardware via Vulkan.
PC games: cutting-edge news, videos, previews and critical reviews, thoroughly researched reports and handy tips on everything to do with PC games, console games and PC hardware.
From the latest iPhone to the return of 80s fashion. The editorial team will help you make sense of it all.
Show all