A specific frustration has been constructing amongst PC players for the last couple years: regardless of the huge leaps in energy from fashionable graphics playing cards, CPUs and SSDs, the most important video games on the earth often nonetheless launch with persistent stuttering issues that sooner hardware simply cannot remedy. It’s a game design—or game engine—problem, leading to threads on Reddit with titles like “The way shader compilation stutter is being overlooked makes it horrible to be a laptop gamer proper now.”
Just a number of weeks in the past, Redditor Hour_Thanks6235 wrote in that thread: “I even have a RTX 4090, and I am getting so aggravated by this I think this may be me slowly going back to console gaming.”
Unreal Engine 4 is a typical offender in the new wave of stuttery PC video games, with the Final Fantasy 7 Remake being a particularly high profile example. But it doesn’t need to be this manner, and we have proof. Tango Gameworks’ rhythm-action game Hi-Fi Rush came out of nowhere on January 25, with a shock launch the same day it was introduced. And a fair greater surprise awaited inside: this Unreal Engine 4 game is smoother than a Chuck Mangione flugelhorn solo.
How did they do it? I had no thought, so I asked.
“First, we had been careful in choosing performant tech that fits our gameplay and game aesthetics, in order that we will have an excellent CPU/GPU performance base to work from,” lead graphics programmer Kosuke Tanaka wrote over e-mail. “We also track CPU/GPU efficiency daily at the in-game checkpoints to verify we aren’t introducing efficiency issues. We use commonplace UE4 functionality to regulate latency timings and analysis with profiling instruments and careful in-game playtesting to verify we’re providing customers with the most effective gameplay really feel.”
Game director John Johanas added that thus far since launch, Tango Gameworks has gotten “an incredible quantity of optimistic suggestions on our work on optimization and the way smoothly it runs on even very previous hardware,” and I can attest that Hi-Fi Rush runs beautifully on the Steam Deck. But Tanaka’s explanation may make you wonder if different UE4 video games simply push hardware too exhausting, or if their builders aren’t noticing the sorts of spikes the Hi-Fi Rush staff carefully watched for.
Likely no—many of right now’s issues stem immediately from the DirectX12 and Vulkan graphics APIs. “The downside is attributable to DX12, Vulkan PSO (Pipeline State Object) compilation,” Tanaka wrote. “When a recreation masses a shader for the primary time, GPU drivers start compilation inflicting hitches. Devs spend plenty of time replaying the identical scene, so are inclined to miss PSO compile associated hitching.”
Here’s a really quick explanation of what a shader truly is, however the principle factor you should know for this problem to make sense is that your graphics card will compile and retailer shaders once a recreation makes use of them for the primary time. This is why utilizing a model new capacity or getting into a brand new area is most probably to trigger stuttering: the game’s mainly caught off guard and takes a few hundred milliseconds to pull the new shader out of its pocket. There are other reasons games can stutter, but this is probably one of the most typical culprits right now, and is why stuttering will be at its worst early in a sport and reduce over time as you build up a shader compilation, like Tanaka talked about.
Why is Unreal Engine 4 so infamous, then? The engine has a characteristic in place to cache shaders and stop those stutter-causing in-the-moment shader calls, but it does not cover every thing.
“Hi-Fi Rush uses Unreal Engine 4’s PSO Caching functionality to keep away from massive hitches,” Tanaka wrote. “UE4 misses some circumstances corresponding to certain lighting shader combos, computer shaders, Niagara VFX, and these may still trigger hitches. In Hi-Fi Rush, some hitches stay, however they are mostly during certain cutscene transitions that don’t have an effect on gameplay. In another one of our UE4 titles, Ghostwire: Tokyo, we at present preload problematic property within the title screen background to attenuate hitching and attempt to provide a better gamer experience.”
Hi-Fi Rush makes use of DirectX12 (but unlike with FF7 Remake, you don’t have to modify to DirectX 11 to keep away from stuttering). If there is a secret to Hi-Fi Rush’s success, then, it’s simply going above and beyond how Unreal Engine 4 works by default to ensure that any shaders or assets that would come up throughout gameplay are cached before the game asks for them. Other builders, like The Ascent’s artistic director Tor Frick, have previously lamented how the PSO caching misses Niagara results and also doesn’t work for raytracing shaders.
Valve is actually doing something related on the system stage for the Steam Deck, which is why Elden Ring was truly much less stuttery on the Deck than on PC when it launched last year. “We have a unique GPU/driver mixture to target, and nearly all of the shaders that you run locally are literally pre-built on servers in our infrastructure,” Valve’s Pierre-Loup Griffais advised Digital Foundry. “When the sport is attempting to issue a shader compile via its graphics API of selection, these are normally skipped, as we find the pre-compiled cache entry on disk.”
More games, particularly Unreal Engine 4 ones, want to verify their shaders aren’t slipping by way of the cache. As for players—as irritating as it might be to run right into a prolonged shader compilation load if you boot up a new sport, simply grab a snack and keep in mind you’re going through the lesser of two evils.