Skip to main content

How Unreal Engine 5 is tackling the biggest problem in PC gaming

Jacob Roach in a promotional image for ReSpec
This story is part of Jacob Roach's ReSpec series, covering the world of PC gaming and hardware.
Updated less than 5 days ago

During its State of Unreal address at GDC 2023, Epic announced a wide-ranging suite of features for Unreal Engine 5.2. But perhaps the most important feature coming in the updated engine doesn’t relate to lighting, geometry detail, or ray tracing. It’s all about performance.

Unreal Engine games, rightly or wrongly, have been associated with stuttering and hitches over the past few years. With the new release, Epic is finally tackling the problem head-on, so I thought it was high time to break down why Unreal games so commonly show stutter, what Epic is doing to solve the problem, and when we can expect to see those efforts show up in new releases.

Recommended Videos

Remember the stutter

Frame time in Gotham Knights on PC.
These frame time spikes manifest as severe stutters in Gotham Knights. Image used with permission by copyright holder

Over the past few years, Unreal Engine has become synonymous with stuttering. We’ve seen it over and over again, from Star Wars Jedi: Fallen Order to Stray to Gotham Knights, and they all have the same issue in common. It’s compilation stuttering.

Get your weekly teardown of the tech behind PC gaming
Check your inbox!

You’ll typically hear about shader compilation stuttering, but recent sources of hitches aren’t due to individual shaders. In recent graphics APIs like Vulkan and DirectX 12, packages known as Pipeline State Objects (PSOs) are leveraged to tell the game about the state of your GPU. PSOs are meant to make rendering more efficient, allowing dozens of parameters, including shaders, to be interfaced between the API and the GPU in a single package.

However, they introduce a different problem. Because PSOs contain so much information, generating a new one on the fly takes a long time (according to Unreal’s documentation, 100 or more milliseconds). This runtime PSO creation is the source of a stutter, where the engine has to generate a new PSO while you’re actually playing.

To combat this, PSO caching is available in Unreal Engine. This creates a cache of possible PSOs so new ones don’t need to be generated while you’re playing the game, but they aren’t perfect. As Epic explains, PSO precaching can “be burdensome for large projects, and still leave gaps in the cache leading to hitches.” That’s why, even in games that precompile shaders on the GPU, you’ll still occasionally see a stutter (even if they’re few and far between).

Epic is attempting to automate this process by gathering PSOs rather than leaving it to developers to account for every possible GPU parameter. It’s on Epic’s public road map, but only an experimental version is available now. In Unreal Engine 5.2, the goal is to improve PSO caching to further reduce hitches.

All for Fortnite

A scene of Fortnite running in Unreal Engine 5.
Image used with permission by copyright holder

There’s a lot to be excited about in Unreal Engine 5 (I’ll get to some of that next), but we don’t have a clear view into how the engine works just yet. So far, it’s only been used in tech demos and Fortnite among major releases. Even games like Redfall that promised to leverage Unreal Engine 5 have backpedaled to Unreal Engine 4.

To be clear, the tools available in Unreal Engine 4 allow developers to optimize their games to avoid stuttering. Atomic Heart is one of many examples of that. But the complex state of PSOs has left the door open to hitches during gameplay, and Epic’s automated PSO gathering was only introduced in Unreal Engine 5.1.

Although I’m happy to see Epic addressing the issue directly, we haven’t seen the automatic PSO cache in process yet. As more complicated, varied releases come out from smaller teams, the demand for PSO generation goes up, and the possibility of hitches and stutters becomes more present.

This is particularly concerning for games that include ray tracing, as Unreal Engine 5 doesn’t support PSO caching for ray tracing PSOs. As Nvidia explains, it’s possible to distribute the work of creating a ray tracing PSO to multiple threads, but that doesn’t necessarily mean developers will use this process.

Still a lot to be excited about

Lighting in Unreal Engine 5.
Image used with permission by copyright holder

We still need to see automated PSO gathering in Unreal Engine 5, but there’s actually a ton to be excited about in the engine. First and foremost, Lumen. Lighting is extremely important for graphical fidelity, and expensive techniques like path-traced lighting showcased in Portal RTX are tough on hardware. Lumen splits the difference.

Lumen leverages ray tracing, but it’s a highly optimized form of ray tracing. Instead of painstakingly calculating infinite bounces on detailed objects, Lumen uses abstractions to calculate lighting for most of the scene, only defaulting to detailed lighting closest to the camera. This optimization allows Lumen to run with software ray tracing, ditching the need to have dedicated ray tracing accelerators on your graphics card.

The results are already clear. Fortnite is running on consoles with Lumen at 60 frames per second (fps), and it looks stunning on PC, even in Fortnite’s cartoon world.

A Nanite showcase in Unreal Engine 5.
Epic Games

Nanite works in tandem with Lumen. It’s a virtualized geometry system that contains highly detailed, highly compressed meshes that can adjust during gameplay. It’s basically a complex Level of Detail (LOD) for meshes that automatically swaps between detailed and vague meshes depending on where the camera is looking.

More importantly, Nanite runs on its own rendering pass, so it’s not caught up in the traditional GPU pipeline. That means that your gameplay remains smooth even when Nanite is swapping out mesh complexity. Between Nanite and Lumen, you have two visually impressive, computationally efficient features that raise the bar for graphical fidelity.

Epic shared more during its State of Unreal address, though. Substrate is a new material system in Unreal 5.2 that includes more detailed shader control. Epic demoed this with an opal surface material, showcasing multiple layers and accurate light refraction throughout them.

An opal material in Unreal Engine 5.
Epic Games

The new Procedural Content Generation Framework (PCG) is also exciting, even if it doesn’t directly relate to visual fidelity. With limited input, the PCG can generate new objects to allow developers to rapidly build out worlds with a high level of detail. That’s exciting for more expansive worlds that don’t need the touch of an artist at every corner.

There’s a ton more, from advancements in MetaHuman to full path tracing within Unreal Engine. It’s exciting, but the stuttering issues commonly associated with Unreal Engine releases remain. Hopefully, Epic’s advancements in PSO caching can bypass that issue, but we don’t have a lot of Unreal Engine 5 games to see how that system works yet.

This article is part of ReSpec – an ongoing biweekly column that includes discussions, advice, and in-depth reporting on the tech behind PC gaming.

Jacob Roach
Lead Reporter, PC Hardware
Jacob Roach is the lead reporter for PC hardware at Digital Trends. In addition to covering the latest PC components, from…
I entered the Den of Wolves to learn about Unity 6
A character from the game Den of Wolves

Unity has had a rough year. The company was caught up in a firestorm of criticism in September of last year when it announced a runtime fee that would charge developers a fee every time a Unity game was installed. Even well before the fee showed up, Unity had dug itself so deep in the community of game developers that it's spent over a year trying to get back to the positive reputation it once maintained -- and the work still isn't done, even after a new CEO and the full-out cancellation of its runtime fee.

But this week, Unity is hoping to turn things around with Unity 6 being released -- the first numbered Unity update in nearly a decade. Last year, Unity 6 represented a growing pillar of game development that was trying to make a quick grab at cash. But now, it represents a rightfully battered company that's trying to win back some favor. And in order to do that, it needs a damn good game to show off its new tech. That game is Den of Wolves.

Read more
How AMD boosted Ryzen 9000 CPUs by 17% overnight
amd ryzen 9000 retested dt respec

AMD's Zen 5 CPUs, called Ryzen 9000, released with a collective sigh. None of them have it made it onto the list of the best processors, not so much because they're bad, but just because they aren't the best option. Outside of a few niche tasks, they felt more like a price increase and less like a performance increase compared to the previous generation. But that's changing.

We've seen a handful of updates from AMD over the last couple of months, which have culminated in a new BIOS for AMD motherboards that boosts performance across the range -- or so AMD says. I retested the full range of Zen 5 CPUs across games and productivity apps to see where they really sit now that the launch dust has settled.
How did we get here?

Read more
This resource is the Holy Grail of PC gaming
pcgamingwiki is fantastic featured

I love the PCGamingWiki, and if you're aware of it, you probably love it too. It's not some hidden gem among PC gamers, but judging by the website's Discord numbers (about 2,900 members) and active contributors (around 300), it doesn't get nearly the attention it deserves.

It's a community of devout PC gamers that have picked apart over 50,000 PC gamers, just to understand how they work and list what they're capable of. It's a project 12 years in the making, started by Andrew Tsai (Andytizer) who went onto establish the AppleGamingWiki, as well. And over my years of testing games, reviewing hardware, and booting up plenty of titles in my free time, I've used the PCGamingWiki hundreds, if not thousands, of times.

Read more