At this yr’s Unreal Fest in Orlando, not solely did Epic showcase forthcoming options for Unreal Engine 5 by way of CD Projekt Pink’s Witcher 4 tech demo, but it surely additionally held quite a few coaching classes for builders on how finest to make use of its software program. Two of the most well-liked have been these regarding shader compilation stutters and the primary causes of efficiency hitches in UE video games. Nonetheless, a session led by a famend sport developer confirmed that optimisation issues are much less concerning the engine getting used and extra about how video games are made.
The occasion was filled with many such shows, and though I solely had the prospect to take a seat by means of a small portion of them, I got here away with a greater understanding of why evidently all Unreal Engine video games have issues with efficiency optimisations, similar to shader compilation or traversal stutters.
If one is to imagine the numerous remarks on social media, the issue is Unreal Engine itself, and there is a component of fact in such feedback. As we speak’s big-budget, big-graphics video games use tens of 1000’s of shaders, a lot of that are extraordinarily complicated, and GPUs cannot course of them till they have been compiled.
Epic wrote a weblog on this matter earlier this yr, stating that the strategy for compiling shaders (or reasonably pipeline state objects, if I am to make use of the proper phrases right here) in older variations of UE wasn’t very best. For Unreal Engine 5.2 or newer, the really useful methodology is to make use of PSO precaching, which can be utilized along with the previous methodology.
Neither resolution is 100% excellent, although Epic continues to be engaged on making it higher, and given the progress made, I am moderately assured that we’ll see a mechanism that nixes shader stutter finally. I would really go so far as to say that if a sport developer adopted all of Epic’s recommendation on efficiency optimisation and what to do to eliminate stutters and hitches, we might be seeing AAA video games operating easy as silk proper now.
Nonetheless, after sitting by means of Obsidian’s presentation on the way it made the graphics for Avowed, it is clear to me that shader stutters and the like are nonetheless going to be round for some time due to the way in which that many big-budget video games are made. Obsidian began making Avowed in Unreal Engine 4, earlier than switching to Unreal Engine 5 throughout the sport’s growth, and delivery the ultimate sport with UE 5.3.2 again in February.
By that point, nonetheless, UE 5.5 was already obtainable, so why did not Obsidian use the very newest model for higher efficiency? One attainable reply is the dimensions of the group: a complete of 140 individuals have been concerned with making Avowed (100 inner to Obsidian, 40 exterior), however solely 15 of these have been a part of the technical group and simply 4 of these dealt with graphics programming.
Maybe one of many co-developers had an opportunity to work on bettering how the sport processed shader compilation, however provided that PSO precaching solely appeared in UE 5.2, I ought to think about that Obsidian in all probability did not have a lot likelihood to work with it.
Obsidian additionally focused the Xbox Sequence S because the benchmark {hardware}, ie the platform to develop efficiency expectations round. The builders aimed for 30 to 40 fps on that console, with Sequence X and PCs going as much as 60 fps. If you evaluate the variations in decision and what rendering strategies have been used, it is clear that it was a battle to get the supposed graphics constancy on the Sequence S, and I think it consumed a substantial period of time.
Briefly, Obsidian began on an previous model of Unreal Engine, used a comparatively weak console because the baseline platform (one has to if one plans on publishing a sport for the Sequence X), and solely had a small variety of individuals obtainable for programming. It is a credit score to the group that they managed to make Avowed look nearly as good because it did, although eschewing outright efficiency on the PC in all probability helped in that respect.
I think that this can be a related story for a lot of different Unreal Engine 5 video games. Maybe not the purpose concerning the variety of builders, however actually the one about beginning the undertaking with an previous model of UE. The most recent model, UE 5.6, is packed filled with efficiency enhancements (the Nanite Foliage tech showcased within the Witcher 4 tech demo will not seem till 5.7), but when a sport is shipped on, say, 5.4 or older, then it will probably’t benefit from them.
And for what UE 5.6 does higher than the earlier variations, few of the enhancements are only a case of click on and it is finished. PSO precaching, for instance, is enabled by default, but it surely nonetheless requires programmers to have a method on how one can deal with the shader compilation and write the code for it to all work as supposed (a UE blueprint for PSO precaching will likely be obtainable in UE 5.6).
Epic’s classes on UE efficiency enhancements at Unreal Fest have been packed full (the one on shader compilation was so full, I could not get in), so it is clear that builders are aware of how the gaming neighborhood views Unreal Engine. Hopefully, because of this the AAA and AA video games we’ll see within the close to future will likely be making full use of the newest model of UE, and issues like shader compilation and traversal hitches will likely be a factor of the previous.
Till then, nonetheless, we’ll simply need to hope that sport builders utilizing Unreal Engine totally tackle board what Epic is saying and that publishers and administration give programmers the time and scope to correctly discover the instruments obtainable. Optimisation is not a one-click marvel, although, and doubtless takes up much more time than is actually obtainable. Identical because it ever was, sadly.





