Unreal Engine 5 recently emerged from early access, with a full version now available to games creators. Simultaneously, the ‘city sample’ portion from the brilliant The Matrix Awakens demo was also released, giving users a chance to get to grips with MetaHuman crowds and large-scale AI in a vast open world, with buildings, roads and more created via procedural generation. In short, Epic is opening up a staggering wealth of new technologies to all and UE5 is, effectively, the first paradigm shift in games development seen since the arrival of the new consoles. So what have we learned from this release? Put simply: it’s demanding. Very demanding.
At this point, it’s worth highlighting why the city sample is so special – and it’s pretty straightforward. Creating and rendering cityscapes of this level of detail is no walk in the park. Previous UE5 demos had been limited to linear, uniform, rocky landscapes. A city like the one ‘given away’ here is far more complex in terms of materials, shapes, forms and dynamism. The Nanite geometry system gives extreme detail to the smallest elements in the city – to the point where individual tiny assets can look almost lifelike when viewed up close. Nanite has its limitations in terms of deformable meshes like animated characters or cars, while integrating elements like foliage is still work-in-progress (though it is definitely in the pipeline!). However, the results in this demo speak for themselves.
Then here’s the global illumination system – Lumen – now updated with support for hardware triangle ray tracing for diffuse GI and reflections. In some scenarios, Lumen’s non-RT fallback systems look almost as good, but in other situations, it’s clear that RT can make a huge difference – reflections are more accurate and detail-rich, lighting is so much more accurate, especially noticeable in night-time scenes.
Epic is pulling out all the stops here – and right now at least, the performance implications can be startling. First of all, there’s the issue of shader compilation stutter – a problem with UE4 titles on PC for some time now and massively impactful to any initial run through the city sample, no matter how powerful your PC. Once the stutters subside (which they do, the longer you play the demo), it quickly becomes obvious that even a highly capable CPU is struggling with the content. A Core i9 10900K at 5.0GHz locked paired with an RTX 3090 can see a performance average of around 44fps in a fairly taxing scene – and that’s at native 720p rendering, attempting to remove the GPU as a limiting factor to performance. Moving at speed through the city sees sharp frame-time spikes: further stutter that seemingly isn’t shader compilation limited.
Interestingly, removing hardware-accelerated ray tracing features from Lumen and using software GI as a fallback offers up a significant performance win, presumably because the CPU no longer needs to generate the internal BVH structure – the geometry by which ray traversal is tested. In my tests, using hardware Lumen incurs a 32 percent performance hit. There’s room for optimisation and I noted that UE5’s CPU scaling is odd – running the 10900K at half speed gives a 40% performance hit. However, running the same CPU with half the available cores/threads only sees performance drop by four percent. This suggests that UE5 performance is more reliant on single-core speed as opposed to exploiting the many cores and threads in a modern PC processor.
The perception is that Unreal Engine 5 is heavy on GPU – and that may well be the case, but it is hard to tell when the CPU limit is so easy to hit. My solution here was to turn off AI within the city to get cleaner numbers testing an RTX 2060 Super at native 1080p, using temporal super resolution to resolve at a 4K output. I found that hardware Lumen has a seven percent cost to performance up against the less precise software equivalent – not bad bearing in mind the huge increase in fidelity. It’s the same seven percent with an RTX 3080, rising to a 17 percent cost on an equivalent Radeon RX 6800 XT. Interestingly though, looking at the demo as a whole, the 6800 XT is around three percent slower overall than the 3080.
So where does all of this leave mid-range PCs? Right now at least, the mainstream favourite – the Ryzen 5 3600 – is severely CPU limited, averaging 30fps in static scenes but falling much lower when in movement. With that in mind, how did Epic get the console versions to run better? Well, let’s bear in mind that even with specific optimisations, we’re still far from a locked 30fps but even so, it seems that Epic’s TSR upscaler doesn’t deliver quite the same quality level as the PC rendition – meaning either a lower quality TSR or a lower base resolution.
Then there are changes to certain quality parameters – reflection distance and general internal resolution seems consistent with PC set to high, yet there are moments where aspects of light leakage suggest quality compromises or other optimisations for consoles not present on PC’s high setting. Motion blur also seems to operate at quarter resolution when it takes up large areas of the screen. And lastly, there is the quality of virtual shadow maps, where consoles operate with what looks like a custom half resolution bias that delivers fidelity lower than PC’s medium preset.
With all of this in mind, where do we stand with this first look at a release version of Unreal Engine 5? The quality of the rendering is superb, Lumen and Nanite are delivering the generational leap in fidelity we want from the latest hardware, but I am concerned about CPU performance, where we can easily find limits even with the most powerful processors on the market. Of course, this is just a demo sample and not a final product but even so, I’m surprised at the apparent reliance on single-thread CPU performance – I’m concerned that attaining 60fps in UE5 titles for PC, let alone consoles, is going to be extremely challenging. However, ultimately, this is just a single example of the engine in action – and of course, the technology remains in a constant state of development, with many improvements to come.
We’ll be tracking the progress of this exciting technology and look forward to seeing the first shipping games to use Unreal Engine 5 and its bleeding-edge features.