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.Īlthough I’m happy to see Epic addressing the issue directly, we haven’t seen the automatic PSO cache in process yet. Atomic Heartis one of many examples of that. To be clear, the tools available in Unreal Engine 4 allow developers to optimize their games to avoid stuttering. ![]() Even games like Redfall that promised to leverage Unreal Engine 5 have backpedaled to Unreal Engine 4. So far, it’s only been used in tech demos and Fortnite among major releases. 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. In Unreal Engine 5.2, the goal is to improve PSO caching to further reduce hitches. It’s on Epic’s public road map, but only an experimental version is available now. 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).Įpic is attempting to automate this process by gathering PSOs rather than leaving it to developers to account for every possible GPU parameter. ![]() 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. To combat this, PSO caching is available in Unreal Engine. This runtime PSO creation is the source of a stutter, where the engine has to generate a new PSO while you’re actually playing. 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). However, they introduce a different problem. 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. 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. You’ll typically hear about shader compilation stuttering, but recent sources of hitches aren’t due to individual shaders. ![]() 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. Over the past few years, Unreal Engine has become synonymous with stuttering. Remember the stutter These frame time spikes manifest as severe stutters in Gotham Knights. 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. Unreal Engine games, rightly or wrongly, have been associated with stuttering and hitches over the past few years.
0 Comments
Leave a Reply. |