• Hey, guest user. Hope you're enjoying NeoGAF! Have you considered registering for an account? Come join us and add your take to the daily discourse.

Unreal Engine 5 Deep Dive on May 26th

IntentionalPun

Ask me about my wife's perfect butthole
So wait.. the B3D guys are saying it's only a few GB of RAM when compiled?


I'm so confused.

 3-5 gb RAM at native 4K


Someone upload the damn binary already.
 
Last edited:

martino

Member
I really doubt this is accurate... I'm no reading anything like that there, link/quote?

edit: Nevermind.. lol holy shit

this total ram usage is surely not a coincidence....

Someone upload the damn binary already.
yes please !
 
Last edited:

Loxus

Member
I feel sorry for your, you think they'll read that? And that it was using 16k shadows? and 20M per frame budget at 1440p with new one being 1080p with unknown frame budget?

It's better to wait for the official details so many crows can be served.
It's kind of sad seeing people spreading misinformation.

Many people, even Digital Foundry saying many people where saying Unreal Engine 5 can't run on XBSX.

When in fact it's the PS5 demo people meant.
I rewatched the PS5 demo and it still blows my mind.

This recent demo was mostly about the interface and features.
 

MonarchJT

Banned
It's kind of sad seeing people spreading misinformation.

Many people, even Digital Foundry saying many people where saying Unreal Engine 5 can't run on XBSX.

When in fact it's the PS5 demo people meant.
I rewatched the PS5 demo and it still blows my mind.

This recent demo was mostly about the interface and features.
after today if you have an idea of what we saw ..it's pretty clear that PC and xsx would have no prob to run that PS5 demo ...and that china guy was right after all
 

VFXVeteran

Banned

Stooky

Member
yes and as always stronger GPU's will run ue5 games better
Need official stats on assets used in both demos. Currently from what is known the PS5 demo was pushing more. Specifically in unique assets (the statue room and fly through at the end) vs BG map and 8k texture vs 4k. Im not saying other platforms cant do this, just sayin todays demo is not pushing what was seen in the PS5 demo.
 

GuinGuin

Banned
You're missing my point then reinforcing the point I was attempting to make.

My point is that an SSD can reduce the need for more

It's an achievement but I'm wanting animation, deformation, interaction, physics, simulation, AI etc from next gen far more than pushing static pixels. Do those setups handle anything more "game" related?

Nanite seems to be very much about static objects. Reminds me of voxel rendering in that way. How useful is it actually going to be for games if that's the limitation?
 

SLB1904

Banned
after today if you have an idea of what we saw ..it's pretty clear that PC and xsx would have no prob to run that PS5 demo ...and that china guy was right after all
why do you keep going like this? so misinformed and butthurt just because chosed to showcase the engine on ps5. that specific demo was created for ps5 with unreal 5 engine. im pretty sure if ms really wanted they would have a demo for themselves.
 

ethomaz

Banned
So wait.. the B3D guys are saying it's only a few GB of RAM when compiled?


I'm so confused.

 3-5 gb RAM at native 4K


Someone upload the damn binary already.
Not the case.
The guy on Era forced the demo to run only in 4GB RAM and the quality dropped a lot.

You can read more here: https://www.resetera.com/threads/unreal-engine-5-dev-workflow-stream-today-5-26.431627/post-65799137

On Beyond3D they are having 40GB RAM usage.
 
Last edited:
Nanite seems to be very much about static objects. Reminds me of voxel rendering in that way. How useful is it actually going to be for games if that's the limitation?

From the original vid where they talked about the dev pipeline time savings for asset creation it appeared to be a wonderful thing for devs and the end product. If it's all about static objects it's limited, creative boss bot to hide any cloth physics or destructive parts etc but I can see it useful for environment objects or "non-interactive" objects. Overall I'd be way more impressed with tech about the elements I posted above, more game simulation work please.

Spending all the engine and hardware resources on graphics is such a waste in terms of innovative gameplay/dev.
 
Last edited:
After scouring the code..

A REYES approximation with lots of caveats, but funnily enough, harks back to the original definition of REYES architecture, as we need to skip things like Raytracing to optimise speed.

How can I explain this so it can be understood easily...

When you want to rasterise anything, you generally have a 2d grid of pixels in which you project complex surfaces onto, your resolution then is how fine the sampling of that underling 3D scene is and from which you generate a colour to plot onto that 2d grid. Generating colours is all fine and dandy, but if you want speed, you want to try generate all of these colours at the same time, and with as little knowledge as possible about the other pixels. The burden is then, on the underlying scene to store data, that when you sample it, returns the correct colour. This isn't easy when you want to have shading as well as colour in a scene. So it would help, if you could sample the underlying surface, and give it some help to get the correct colour back where possible. What angle you are looking at the scene from, any constant values you know exist (ambient terms and hacks like that), and maybe any modifiers (in the form of functions) you want to add to subtract, add or multiple the colour by. We can use textures for colours, normal maps for reciprocal angles in order to lighten and darken that colour and so on. Yet, in order to do this sampling, we must first have in memory the objects that make up our scene and the associated data. So for a typical scene, we map out all the things to be included which make up that scene. That can be things like, rocks, people and textures and sounds, to things you might not think about like, menus. In most circles this would be our "Scene Graph". It's a graph for two reasons. It directs a flow between objects in a hierarchy, and you can also do things like delegate owners of certain parts of the scene, and walk through them, ensuring they update with every frame. Common example would be a Screen Hierarchy for things like menus, level transitions etc, and Scene Hierarchies for things like, adding particles effects to the world, enqueuing sounds, adding models, replacing UV maps. We do a bunch of loops over all over these, render, update and sometimes they can do things like message passing.

So let's go back to our 2d grid. We want, for each pixel on the screen, to get a colour back in order to show an image. That itself doesn't sound too different to Raytracing in that, we iterate and we return a colour. We don't "trace" the ray in this case, we just return the colour we sampled. So let's take an extreme example, and use 10x10 as our resolution, we want 100 colours from the boss scene shown in the presentation. Imagine getting your 4k video from that presentation, holding up a 10x10 grid over your monitor, and then picking a single colour for each of the 100 boxes to represent the underlying video. It's look crap for sure, but most importantly, you did a lot of underlying work on the underlying video only to barely use any of it.

So how can we reduce the work, so we do not over fetch data, if we are only going to sample a little bit of it. Well, we already kind of do this with BVH structures in Raytracing. We simplify what the rays interact with, and we pass that data to the rendered scene and hope it was close enough. We want to go further though, we want to use the full resolution assets to dynamically change how much data they load in order to be sampled. If you have a 100,000,000 polygon asset that takes up 1 colour, can I request that asset in such a way, it returns a very coarse representation of itself that I only have a few triangles to check, and to find that colour, I ask the engine the following:

Give me the average colour of this asset, given the canter of my pixel may fall on 100,000,000 triangles.

There is a lot to unpack there. First, what the hell is the centre of a pixel! Secondly, how do I figure out which colour to return. This is what Nanite helps with, when we sample a colour, each pixel is like a window into the asset, and because depending on a number of factors, such as scaling or just being really high detail, we can have subpixel triangles living here. If you expand the pixel to 100 times it's size, imagine it like a window looking into the asset. All we are doing is sampling it at very low resolution (1 pixel!), so we really, really don't want all of it's data. The centre of the pixel is just the bias we use to grab an average colour of the underlying triangles. We could easily use top left, or average them all!

In order for this to work, the asset much be broken into a hierarchal data structure,, where, if you sample the top level of the hierarchy and it ends up being enough data, nothing more needs to be loaded. However, when we need more resolution, we can start to load the children of the hierarchy. The specifics of Nanite are how it descends through this hierarchy, swapping out the available data with more detail, and chopping into small parts so you can load each piece granularly. The hierarchy, in practice from reading the code, is a cube structure with eight children which is usually called a BVH, with each parent being a coarse representation of the data, and as you traverse it, more detail is loaded in. It's hard to explain, but imagine a Lego structure you view from afar, and if you want to get into the nitty gritty, you can break pieces of it apart. You don't even have to do it for all of the model, just pull in the pieces you can see. This means, you do not need everything in memory, as most of the time, you aren't drilling into the finer details, so very little data needs to live in memory. As an aside, this method was first talked about ( in my knowledge ) by John Carmack, with Brian Karis took inspiration from; Sparse Octrees).

So we get down to it, a mesh being imported, broken down into "Clusters" and some clever way of creating a hierarchy out of it, so at the top we get very little data back, and as we drill down, we swap in the higher res data pages. I didn't get too far into it, but mesh shaders, or something very similar can be used to take discreet LOD layers and remove triangles one by one, rather than "popping between" layers. I believe the layers still exist though, just the removal of vertices before rendering does a lot of work to merge the layers and to reduce shader load.

All of this work to reduce what's loaded into memory is an optimisation of what "eye" ray needs, which is why raytracing will be very hard. Different assets required for bounces...


**I've looked through the rasterizer shader, the nanite renderer source, and a few of the hierarchy structures / buffers

Executive Summary: As said in the docs, Nanite excels in large scenes with tonnes of high quality assets and high res textures. A fast, low latency SSD will benefit here, especially for fast movement. More RAM will also help, as these buffers are all cached as pages remain resident in memory. The real challenge is low memory systems, as we've seen, we need to combine forward rendering and deferred rendering to get the best out of this engine, and this is really a showcase for deferred rendering of static assets. Nanite is good for large open world vistas that can be traversed quickly. "Indoor" hero assets, not so much, we just don't have the triangles to cull in most AAA games. Fallout 5 please.
 
Last edited:

martino

Member
Not the case.
The guy on Era forced the demo to run only in 4GB RAM and the quality dropped a lot.

You can read more here: https://www.resetera.com/threads/unreal-engine-5-dev-workflow-stream-today-5-26.431627/post-65799137

On Beyond3D they are having 40GB RAM usage.
sure it's the same guy that then report this :
 
Last edited:

MonarchJT

Banned
why do you keep going like this? so misinformed and butthurt just because chosed to showcase the engine on ps5. that specific demo was created for ps5 with unreal 5 engine. im pretty sure if ms really wanted they would have a demo for themselves.
trust me I'm not ..that demo was exceptional and worked very well as a marketing if we still talk about it today. The problem is not the demo. But for months partisan notions were pushed and when someone tried to make people understand that probably things would have turned out to be different once released on the pc it was mocked and ridiculed by them. Allowing us to see the demo running on HDD with a transfer rate under 100mb/s certainly made laugh a lot people ...especially knowing that a mediocre Pc SSD is already over 15x faster ... and I don't even want to consider the Xbox with decompressors and all the other i/o advantages over a fast M2 nvme PC ssd
 
Last edited:
After scouring the code..

A REYES approximation with lots of caveats, but funnily enough, harks back to the original definition of REYES architecture, as we need to skip things like Raytracing to optimise speed.

Nice write up there mate, easy to follow as well, appreciated by this laymen with enough knowledge to just be dangerous with posts.

I'm curious given you example of a pixel being the window we peak through to simplify or drill down for colouring a pixel why that is limited to static objects then? Is it purely based on the processing required behind the scenes and things like deformation are too variable to calculate for example?

Given elements like hair, cloth, physics I'm understanding why the big vistas look so good and are use case limited though. How does a mixed tech work in UE5 then? e.g. traditional methods on characters and interactive objects but nanite for all others.

EDIT: Given lumen is that also able to use a mixed engine so to speak? It's sort of the difference of baked lighting vs dynamic or global illumination etc.
 
Last edited:
Nice write up there mate, easy to follow as well, appreciated by this laymen with enough knowledge to just be dangerous with posts.

I'm curious given you example of a pixel being the window we peak through to simplify or drill down for colouring a pixel why that is limited to static objects then? Is it purely based on the processing required behind the scenes and things like deformation are too variable to calculate for example?

Given elements like hair, cloth, physics I'm understanding why the big vistas look so good and are use case limited though. How does a mixed tech work in UE5 then? e.g. traditional methods on characters and interactive objects but nanite for all others.

EDIT: Given lumen is that also able to use a mixed engine so to speak? It's sort of the difference of baked lighting vs dynamic or global illumination etc.

The assets are precomputed on import to UnrealEd. They can be rotated, as you just rotate the data structure so to speak. Any squashing and stretching beyond standard matrix calculations would require new data structures, which wouldn't be fast enough at runtime.

At the end, we just get pixels back, we can combine all sorts of techniques to combine these pixels with traditional rendering methods, we just can't optimize them all in the same way.
 
Last edited:
Man, this thread really delivered. My favorite part is Bo insinuating (and repeating like 10 times) that the PS5 is 20x more powerful than a high end PC. We're reaching levels of fanboy that shouldn't even be possible. Can't wait for Epic to release the first demo (that's still happening, right?) so people can run it on their shitty 900 MB/s laptop SSDs and then to watch everyone here deny that anyone ever claimed only PS5 can do it :messenger_beaming:
 

CurtBizzy

Member
How many times do you need to redeem yourself before people finally listen and learn? I remember you claiming a game would arrive on PC, way ahead of any rumors, and everyone gave you shit. Your like the Jesus of gaming when it comes to this. You say something, and the prophecy is fulfilled. The apostles mocked you, over and over, but at the end of the day, you were right! Literally spot on. You'll have haters constantly, but you just gotta keep doing you.
Jake Gyllenhaal Love GIF
 
I've got everything downloaded and I've played the demo in the Editor.. but can someone explain to me how to build/compile it?

When I try "Package Project" it tells me I don't have the SDK installed..
 

Mister Wolf

Member
That's partially true.

One side is asset streaming during run-time...

...the other side is the initial load into a game/level.

As fast as these current standard SSDs move data I cant imagine that initial load into the Ram would be that long.
 
Last edited:

ripeavocado

Banned
It's kind of sad seeing people spreading misinformation.

Many people, even Digital Foundry saying many people where saying Unreal Engine 5 can't run on XBSX.

When in fact it's the PS5 demo people meant.
I rewatched the PS5 demo and it still blows my mind.

This recent demo was mostly about the interface and features.

DF doesn’t know what they are talking about 99% of the times.

they are glorified armchair graphics experts with no training, talent or journalistic ethic.
 

hlm666

Member
Not the case.
The guy on Era forced the demo to run only in 4GB RAM and the quality dropped a lot.

You can read more here: https://www.resetera.com/threads/unreal-engine-5-dev-workflow-stream-today-5-26.431627/post-65799137

On Beyond3D they are having 40GB RAM usage.

Really, this guy seems to prove otherwise.

 

CamHostage

Member
From what I read it is 100GB.

"It’s a high intensity demo that really wants to be run from an SSD to rapidly load in the assets needed for Nanite and Virtual Textures. Oh, it’s also 100GB in size."

Some UE4 demos had a certain core asset file size when you downloaded it, but then you needed to unpack it and also "build the lighting" I think it was called? So the Boy and His Kite demo was 6GB and unspooled/built out to 20GB when you were ready to run it on a local machine.

I don't know what the differences would be between an UE4 and UE5 demo, but that might account for why Epic says it;s a 100GB demo but downloaders say it's more like 25GB to grab?

25GB though, just for one area, a "Dark World" variant area tweak, and two characters... that's half a BluRay for just this little demo bit.

(*We did mentioned this earlier though, the Quixel assets and other materials are all original, uncompressed components in the demo; you'd optimize all this if you were actually making this for gamers.)
 

SlimySnake

Flashless at the Golden Globes
I cant get this fucking thing to run. crashes every time.

has anyone with a 4 tflops gpu been able to run this?
 

Bo_Hazem

Banned
Man, this thread really delivered. My favorite part is Bo insinuating (and repeating like 10 times) that the PS5 is 20x more powerful than a high end PC. We're reaching levels of fanboy that shouldn't even be possible. Can't wait for Epic to release the first demo (that's still happening, right?) so people can run it on their shitty 900 MB/s laptop SSDs and then to watch everyone here deny that anyone ever claimed only PS5 can do it :messenger_beaming:

You're a liar, really. The older demo that was crunching 1,000x more polygons to 20,000,000 polygons per frame was as intensive as playing fortnite on the GPU end. It's not a GPU thing.

The new demo must be like walking in the park for PS5. We need the official details of how much polygons are drawn (frame window polygon budget) before celebrating anything. But for true game enthusiasts this is a wonderful achievement, and the new one is a realistic goal for retail games at 1080p reconstructed to 4K.
 
Last edited:

DenchDeckard

Moderated wildly
You're a liar, really. The older demo that was crunching 100,000x more polygons to 20,000,000 polygons per frame was as intensive as playing fortnite on the GPU end. It's not a GPU thing.

The new demo must be like walking on the park for PS5.

Bo, not like this brother. Please! There is a law of physics and electrical engineering that Mark Cerny can't break with an SSD alone. The rest of the system has to follow this law.
 

Bo_Hazem

Banned
Bo, not like this brother. Please! There is a law of physics and electrical engineering that Mark Cerny can't break with an SSD alone. The rest of the system has to follow this law.

It's not a GPU-power thing, otherwise even the new lite demo wouldn't have required 64GB of RAM and a Threadripper CPU if it was GPU-tied. It's how fast you can bring in and out the data. PS5's GPU isn't the big deal here unless for those doing brain gymnastics. Both PS5 and XSX are now considered low-end GPU's and both had the least problems with this new demo with barely 16GB of a single RAM (VRAM).

It's obvious that DirectStorage isn't ready yet for PC.
 
Last edited:
Top Bottom