It’s well-known that several games using Unreal Engine 5 have faced performance issues. This includes older releases such as Remnant 2 and Lords of the Fallen, along with newer ones like S.T.A.L.K.E.R. 2 and Grey Zone Warfare. With numerous other games in between and even more on the horizon, those who are fans of Unreal Engine 5-powered titles have some concerns about their performance.
To clarify these problems related to the Unreal Engine, the engineers themselves have stepped forward to provide explanations – more specifically, they addressed game engine and shader hiccups. In a detailed blog post and a YouTube video, Kenzo ter Elst, Daniele Vettorel, Allan Bentham, and Mihnea Balta shared their valuable insights.
Lately, there have been several discussions within the Epic community about shader stuttering and its effects on game developers’ projects. Today, we delve into the reasons behind this occurrence, elucidate how PSO precaching can alleviate the problem, and investigate some development practices that will aid you in reducing shader stuttering.
Initially, although the tone is cordial, there seems to be an implicit criticism towards the developer. Let me rephrase this in a more conversational and straightforward manner: “When rendering an object, the engine encounters a delay because it has to compile a fresh shader at the exact moment before using it for drawing. This pause occurs as the system waits for the driver to finish compiling the shader.
Starting now, they move away from abstract concepts and delve into specific details about the subject at hand. To put it simply, shaders are software programs that run on the GPU to handle the multiple stages required for generating 3D graphics. I highly recommend reading the entire article for a comprehensive grasp of the topic.
The issue and the solution
Previously, these shader programs were either compiled on-the-fly during gameplay or at runtime. Since only a few shaders were used over time, this wasn’t typically problematic. However, with the increased amount of shader code being used in modern games, the number of executing shaders has become a major challenge as their quantity and complexity have grown.
Transforming high-level programming languages (such as C++ or Java) into machine code that a computer can understand and execute is known as compilation. This process requires resources. In the context of shaders, the compilation process remains essentially the same. However, executing these compilations during runtime places an additional burden on the Graphics Processing Unit (GPU), which can already be under heavy load.
When fresh content appears during a screen refresh (a draw request), and this content utilizes a newly-introduced shader, there may be a brief pause while the shader is being compiled. This pause is often referred to as “hitching”. For instance, if you point your camera at an unexplored object or region, a draw request is made to display it on the screen. If this object uses a new type of graphical rendering (the shader), there might be a momentary delay while the game compiles and applies the shader, causing a hitch or stutter.
You can significantly reduce these problems by employing a technique called pre-caching. This process involves drivers storing previously compiled Pipeline State Objects (PSO) for future use. Normally, during a draw request, the shader would recompile. However, with pre-caching, instead of recompiling, the stored PSO from the cache is returned, bypassing the compilation step entirely.
As I observe, there’s a potential delay when retrieving a Precomputed Scene Object (PSO) from cache, especially if it hasn’t been previously loaded into Random Access Memory (RAM). This initial call for a cached PSO can lead to microstuttering. Moreover, storing the PSO in RAM comes with its own challenges, such as when the allocation surpasses available space or goes beyond typical use case requirements.
In simpler terms, you might ask why S.T.A.L.K.E.R. 2 takes a long time to start up on a Windows PC and compile shaders extensively. The reason is that this process helps eliminate stuttering or lag during gameplay. Since S.T.A.L.K.E.R. 2 is an open-world game, it preloads all necessary data at the beginning instead of between levels, as non-open world games do.
For consoles, it means that while the first launch may have a unique process, subsequent starts could be likened to a Performance Shader Optimization (PSO) warm-up. Essentially, a complete recompilation isn’t necessary until there’s an update to the driver or game software.
The difference between PC and consoles
![](https://cdn.mos.cms.futurecdn.net/TfaQq7xD9wqtgSoYgm97Am.jpg)
Many problems highlighted are notably challenging when dealing with Windows PCs, given their diverse setups such as multiple GPUs, graphics drivers, and assorted hardware configurations. On the other hand, console-related issues tend to be fewer since consoles typically use a standardized GPU.
In the game you play, individual shaders are embedded directly within the executable file that you download. This means that there’s no need to compile them when you start the game because they’re already a part of the game’s code. When you play, these shaders are converted into PSOs (Pixel Shader Ops) on the fly, so you won’t experience any delays due to PSO hitching on console systems.
The future of Unreal Engine
![](https://cdn.mos.cms.futurecdn.net/abZwzMQFPrFa7ZECZ7XN8V.jpg)
Epic Games and their Unreal Engine team are consistently refining their pre-caching system. To put it simply, they acknowledge that there are some areas that need more attention, as well as certain restrictions, so they’re continuously working on enhancing it. Additionally, they’re collaborating with hardware and software manufacturers to tailor drivers and graphics APIs to better suit how games employ these systems in practice.
In the future, Unreal Engine developers aspire for their pre-caching system to operate automatically and efficiently, aiming to eliminate hitching issues that currently require developer intervention. The exact timeframe for implementing this technology is uncertain, but given upcoming games like the next Halo and Witcher series utilizing Unreal Engine, there’s a pressing need for it to arrive sooner rather than later – ideally, it should have been implemented yesterday.
These methods don’t address every type of game hiccup. Issues such as over-spawning, simultaneous loading, and various other techniques can lead to lag and stuttering. Games like S.T.A.L.K.E.R. 2, despite preloading, still have their share of problems. The two factors I mentioned earlier, such as enemy spawning and simultaneous loading of areas, cause numerous performance issues across all playable platforms.
In simpler terms, it’s often easier to tackle these gaming issues using a more powerful CPU or GPU found in a Windows PC compared to a console because of their power limitations. While some PC gamers might have less potent systems than consoles, they can adjust game settings or add optimizations that aren’t available on Xbox or PlayStation. For instance, a game like Grey Zone Warfare, which is quite demanding, currently isn’t playable on consoles due to the high hardware requirements it has, and even with reduced settings, there are limits to how much further you can go.
Due to the numerous performance problems that many video games built with Unreal Engine often encounter, players express significant concern when they learn a game is using this engine. While it may be subjective, I recall a time when there was great enthusiasm for upcoming Unreal Engine games. Nowadays, such excitement seems less common.
Instead, I’m privy to the concerns voiced by gamers. They express apprehension over a potential monopoly that Unreal Engine might hold. This uncertainty arises when games like The Witcher 4 shift from their self-developed engine, which produced stunning titles such as The Witcher 3 and Cyberpunk 2077, to the Unreal Engine. Given the uncertainty about REDengine’s future, they question the safety of any other platform. Why would they migrate if not for REDengine?
In essence, having access to tools like Unreal Engine expands the potential workforce for studios such as CD Projekt Red, since developers who are already acquainted with these engines can be quickly integrated into the team. Furthermore, using a licensed engine rather than developing an in-house one reduces both financial expenses and the time required for development.
Consider the Halo’s Slipspace Engine. It is said that the total cost of developing both the game and engine was approximately $500 million. Compared to the usual production costs of AAA games, which fall between $100 million and $200 million, it becomes clear why a company like Microsoft might opt for outsourcing development instead, given the potential savings that could be directed towards other projects.
It’s a regrettable truth that many video game creators encounter as development costs keep climbing. Meanwhile, competitors like Unity seem to be making mistakes, which creates more opportunities for Unreal Engine to expand. Instead of following the crowd and using the same tools as everyone else, consider using Unreal Engine to save on development costs since it’s likely that other developers are doing the same.
I could go on and on explaining why I dislike this proposal, but it seems many Unreal Engine games tend to have similar looks due to developers relying heavily on default settings or common asset packs. Even a game like Avowed, which stands out visually, retains that characteristic feel of being made with Unreal Engine.
As time goes on, an increasing number of studios are likely to use Unreal Engine, amplifying this problem. Interestingly, games such as Remnant 2 and Nightingale share a certain visual aesthetic despite being set in disparate storylines. I find it hard to put into words, but there’s a striking resemblance between the two that feels uncanny.
Here’s to wishing studios will enhance their abilities and experiment with various game engines. The success of Kingdom Come: Deliverance 2 showcases that Cry Engine can still drive next-generation games. It not only boasts stunning visuals but also performs smoothly across numerous PC configurations and consoles.
Read More
- POL PREDICTION. POL cryptocurrency
- INJ PREDICTION. INJ cryptocurrency
- BONE PREDICTION. BONE cryptocurrency
- DUSK PREDICTION. DUSK cryptocurrency
- DGB PREDICTION. DGB cryptocurrency
- HBAR PREDICTION. HBAR cryptocurrency
- FIL PREDICTION. FIL cryptocurrency
- LDO PREDICTION. LDO cryptocurrency
- ILV PREDICTION. ILV cryptocurrency
- Blockchain is the best fintech to ensure Sharia ethics — Web3 exec
2025-02-10 15:10