The latest versions of Unreal Engine 5 include systems designed to prevent shader compilation problems, but the problem is that they don’t work perfectly… so you can get stuck with stuttering!
If developers don’t take the time to properly tune these systems, then it’s arguable that the systems provided by Epic Games don’t work properly. During their weekly podcast, the Digital Foundry team reviewed a recent blog post published by Epic on the official Unreal Engine website detailing why shader cache stalls cause stuttering, highlighting how the previously planned shader compilation process in Direct3D 11 reached a breaking point as the shader code grew, and how this has been addressed in modern APIs such as Direct3D 12 and Vulkan with the introduction of Pipeline State Objects (PSOs), which have introduced many other problems (even in Unreal Engine), although the engine provides developers with solutions to compile PSOs without compromising game performance.
The blog post also addresses the misconception that shader composition problems were introduced in DirectX 12, as they are a consequence of increased shader code and overall complexity, rather than anything introduced by the API over the previous version. But here’s the interesting thing: even though Epic Games has introduced this solution to reduce tearing, developers still have to do extra work!
According to Digital Foundry’s Alex Battaglia, these systems don’t work in previous versions of Unreal Engine (5.1 to 5.4) because they require special work to actually work as intended. However, Digital Foundry still sees promise in what Epic Games outlined in its blog post. Managing global shaders (which is a pain in many games) and working with hardware and software vendors to customize drivers and graphics APIs are important because they can improve the experience in future versions of the engine.
Unreal Engine 5 is currently at 5.5, with the big new feature being MegaLights, which could be the Nanite of lights.
Source: WCCFTech, Epic Games
Leave a Reply