• 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.

Epic sheds light on the data streaming requirements of the Unreal Engine 5 demo

psorcerer

Banned
It's a trick question, in that, if you actually know anything (he doesn't, he is a bluffer), you could write it out in about the length of this post, from your head, maybe look up a well known value for confirmation.

I wouldn't even give this as homework on the first day.

I even did it on a shitty online tool in a couple of seconds.

isgMNXW.jpg

I don't think anybody should engage in the dick measuring game.
It can be fun if you feel like it, but I wouldn't require it.
 

Shmunter

Member
So you can go 10 seconds in any direction? Actually that would be 3.3 seconds in any direction until your repeating assets.

Sure ive oversimplied to help the masses understand... but think about it and youll see its a massive issue.
So GPU ram at ~400gbs means a game last 0.001 seconds? 🤪

You’re conflating performance with game duration. Ability to refresh ram fast is the equivalent of having more ram. More ram means either higher quality assets or greater variety of assets within a rendered scene. At the very least, ability to swap assets quickly. E.g level teleporting or zooming in on a character resulting in a super detailed model swapping in.

Higher quality assets or more of them can result in bigger game sizes, no different to a 4K texture pack. This gen the compression focus and elimination of sequential duplication should help to manage size.

That’s about it, nothing more complicated to it.
 
So GPU ram at ~400gbs means a game last 0.001 seconds? 🤪

You’re conflating performance with game duration. Ability to refresh ram fast is the equivalent of having more ram. More ram means either higher quality assets or greater variety of assets within a rendered scene. At the very least, ability to swap assets quickly. E.g level teleporting or zooming in on a character resulting in a super detailed model swapping in.

Higher quality assets or more of them can result in bigger game sizes, no different to a 4K texture pack. This gen the compression focus and elimination of sequential duplication should help to manage size.

That’s about it, nothing more complicated to it.

This same mentality can be applied to the GPU caches; to refresh them quickly means virtually all of these same things, and that's something faster RAM bandwidth helps with since the GPU can fetch/copy data more frequently across the memory bus per second.
 

Shmunter

Member
This same mentality can be applied to the GPU caches; to refresh them quickly means virtually all of these same things, and that's something faster RAM bandwidth helps with since the GPU can fetch/copy data more frequently across the memory bus per second.
That’s right. It’s all chain of less but faster, to more but slower.

Cache <-> Ram <-> SSD
 

CuNi

Member
It's a trick question, in that, if you actually know anything (he doesn't, he is a bluffer), you could write it out in about the length of this post, from your head, maybe look up a well known value for confirmation.

I wouldn't even give this as homework on the first day.

I even did it on a shitty online tool in a couple of seconds.

isgMNXW.jpg

If VFX hurt your feelings, you might try go and talk about it with a professional than go on a vendetta on a forum and make yourself look like a dick.
At this point you're literally just out for blood.
 

Lort

Banned
So GPU ram at ~400gbs means a game last 0.001 seconds? 🤪

You’re conflating performance with game duration. Ability to refresh ram fast is the equivalent of having more ram. More ram means either higher quality assets or greater variety of assets within a rendered scene. At the very least, ability to swap assets quickly. E.g level teleporting or zooming in on a character resulting in a super detailed model swapping in.

Higher quality assets or more of them can result in bigger game sizes, no different to a 4K texture pack. This gen the compression focus and elimination of sequential duplication should help to manage size.

That’s about it, nothing more complicated to it.

Its awesome now you can easily stream way more from disk ... you can now easily load the same EXISTING assets much much faster.

if you want new assets or more detailed assets ... you need bigger files.

The new SSD disk fixes LOD load speed issues but does not change the asset quality ( even though it could).

Your conflating fast .. with something new to load.

There simply isnt enough unique high quality assets to keep the disk streaming ...Unless your reloading assets youve already seen ... which is EXACTLY what i said and what happens in the example you suggested.

in an ideal situation to leverage the SSD you would have new unique high quality assets in every direction that eat up all the streaming capability... right now games do that because the disk is so slow so.... with the SSD speed there will never be enough assets to do that.... without the games being 40x bigger iE 4TB.

Either the games are huge,
Your not using all your SSD bandwidth,
Or your reloading the same assets over and over.

Which is it?
 

Shmunter

Member
Its awesome now you can easily stream way more from disk ... you can now easily load the same EXISTING assets much much faster.

if you want new assets or more detailed assets ... you need bigger files.

The new SSD disk fixes LOD load speed issues but does not change the asset quality ( even though it could).

Your conflating fast .. with something new to load.

There simply isnt enough unique high quality assets to keep the disk streaming ...Unless your reloading assets youve already seen ... which is EXACTLY what i said and what happens in the example you suggested.

in an ideal situation to leverage the SSD you would have new unique high quality assets in every direction that eat up all the streaming capability... right now games do that because the disk is so slow so.... with the SSD speed there will never be enough assets to do that.... without the games being 40x bigger iE 4TB.

Either the games are huge,
Your not using all your SSD bandwidth,
Or your reloading the same assets over and over.

Which is it?
Again, constant new assets are not necessary for a game to make use of asset streaming. Picture turning in a room, as you turn 180deg assets are streamed in, turn 180 again, the previous assets are streamed back in. Keep spinning and the same set of assets are streamed in and out. But the room is significantly more detailed compared to non streaming room which has to fit front and back of the rooms assets in the limited ram.
 

VFXVeteran

Banned
Again, constant new assets are not necessary for a game to make use of asset streaming. Picture turning in a room, as you turn 180deg assets are streamed in, turn 180 again, the previous assets are streamed back in. Keep spinning and the same set of assets are streamed in and out. But the room is significantly more detailed compared to non streaming room which has to fit front and back of the rooms assets in the limited ram.

Are you suggesting that the assets go directly to GPU? I can't imagine pushing a target of 60FPS (or even 30FPS) the SSD would be fast enough to push into RAM, then the GPU pulls from RAM and renders. I would imagine a more realistic scenario would be streaming assets in one room. If you got to stream assets for every 180degrees, the GPU wouldn't be able to render it in time anyway.
 
Last edited:

Shmunter

Member
Are you suggesting that the assets go directly to GPU? I can't imagine pushing a target of 60FPS (or even 30FPS) the SSD would be fast enough to push into RAM, then the GPU pulls from RAM and renders. I would imagine a more realistic scenario would be streaming assets in one room. If you got to stream assets for every 180degrees, the GPU wouldn't be able to render it in time anyway.
Start imagining it, managing the streaming of asset is nothing new today. Next gen increases streaming capability upto 100x.

The math is basic, if you can exchange 5gig of assets within 1 second, you can stream data at 83meg ever frame for 60fps. Implementing a buffering strategy devs can batch chunks of assets.
 

Lort

Banned
Start imagining it, managing the streaming of asset is nothing new today. Next gen increases streaming capability upto 100x.

The math is basic, if you can exchange 5gig of assets within 1 second, you can stream data at 83meg ever frame for 60fps. Implementing a buffering strategy devs can batch chunks of assets.

and so after 20 seconds of seeing new assets the game has literally nothing more to show you....

until you download another 100 GB.
 

Lort

Banned
and so after 20 seconds of seeing new assets the game has literally nothing more to show you....

until you download another 100 GB.

PS i know most of the time games will be streaming the same assets rather than new ones .. i know how it all works..

when you take a moment to think about it youll realise what im saying.

Yes you can now stream in a 5GB house with awesome textures and meshes ... but your game can only have 20 houses in it. The capability of the SSDs to delivery would be amazing ... if we could have games that were 5-10tb size.
 
Last edited:

Shmunter

Member
PS i know most of the time games will be streaming the same assets rather than new ones .. i know how it all works..

when you take a moment to think about it youll realise what im saying.

Yes you can now stream in a 5GB house with awesome textures and meshes ... but your game can only have 20 houses in it. The capability of the SSDs to delivery would be amazing ... if we could have games that were 5-10tb size.
Assets are like furniture, can be rearranged, tiled, merged, recoloured, combined. The streaming just allows for the furniture to be more detailed, textures higher res, etc. There is no getting away from higher quality taking more space, no stopping progress.
 

VFXVeteran

Banned
Assets are like furniture, can be rearranged, tiled, merged, recoloured, combined. The streaming just allows for the furniture to be more detailed, textures higher res, etc. There is no getting away from higher quality taking more space, no stopping progress.

But you are missing the most important point. What can the GPU handle with rendering it? That's the big elephant in the room.
 

Three

Member
If you got to stream assets for every 180degrees, the GPU wouldn't be able to render it in time anyway.
What? Define "assets" because Rage has been doing this for a decade.

But you are missing the most important point. What can the GPU handle with rendering it? That's the big elephant in the room.
Whatever it can handle with a given resolution. You are missing the point that these two are decoupled in some way.
 
Last edited:

VFXVeteran

Banned
So if we assume that you output at

What? Define "assets" because Rage has been doing this for a decade.

I'm thinking of textures (color, specular, diffuse, emission, etc..) and normal maps and high-poly geometry with a lot of information on it per vertex (normals, tangents, bitangents, transparency, displacement values, etc) that is needed by the shader. If the shader is complex and needs several of these attributes, I can see it being "slow" to render at a certain target framerate.
 
Last edited:

Three

Member
I'm thinking of textures (color, specular, diffuse, emission, etc..) and normal maps and high-poly geometry with a lot of information on it per vertex (normals, tangents, bitangents, transparency, displacement values, etc) that is needed by the shader. If the shader is complex and needs several of these attributes, I can see it being "slow" to render at a certain target framerate.
Rage does all that on a crappy HDD.
 

Shmunter

Member
I'm thinking of textures (color, specular, diffuse, emission, etc..) and normal maps and high-poly geometry with a lot of information on it per vertex (normals, tangents, bitangents, transparency, displacement values, etc) that is needed by the shader. If the shader is complex and needs several of these attributes, I can see it being "slow" to render at a certain target framerate.
What difference does this make? The scene rendering budget can be the same between assets being duplicated vs unique assets. 10 cars with 5 unique ones vs 10 cars all unique, etc. Or ability for high LOD on demand when scene zoomed etc.
 

pawel86ck

Banned
It's a trick question, in that, if you actually know anything (he doesn't, he is a bluffer), you could write it out in about the length of this post, from your head, maybe look up a well known value for confirmation.

I wouldn't even give this as homework on the first day.

I even did it on a shitty online tool in a couple of seconds.

isgMNXW.jpg
I remember reading VFXVeteran posts where he helped users with programming. He can also analyse game trailers like no one else here (for example his Demon Souls remake trailer analysis was very detailed), so it's clear to me he has more knowledge than most people are willing to admit. But I can see why people here hate VFXVeteran. He dont like playstation platform so much :p, and he frequently say things PS fans dont want to hear.

VFXVeteran, I hope you will not destroy my hopes and dreams in regards to Hellblade 2, I prefer to live in ignorance and I'm still expecting the final game will look comparable 😃
 
Last edited:

sinnergy

Member
I remember reading VFXVeteran posts where he helped users with programming. He can also analyse game trailers like no one else here (for example his Demon Souls remake trailer analysis), so it's clear to me he has more knowledge than most people are willing to admit. But I can see why people here hate him. VFXV dont like Pplaystation platform so much :p, and people hate he has reputation to back up his opinions.

VFXVeteran, I hope you will not destroy my hopes and dreams in regards to Hellblade 2, I prefer to live in ignorance and I'm still expecting the final game will look comparable 😃
Dude , I bet Hell Blade 2 ingame visuals will be glorious and melt downs will happen , only couple of days left .
 

VFXVeteran

Banned
What difference does this make? The scene rendering budget can be the same between assets being duplicated vs unique assets. 10 cars with 5 unique ones vs 10 cars all unique, etc. Or ability for high LOD on demand when scene zoomed etc.
You are not considering the cost of rendering at all. How much bandwidth would I need going to 2x textures for every parameter in a shader? How much longer would it take in shader code to Ray cast, for example, a normal map that 4k instead of 2k.
 
Last edited:

Three

Member
Rage doesn't have anywhere near the resources I just mentioned. I'm not sure what your point is.
In what way? For once elaborate. My point is simple and directly addressed yours. You said that the drive is too slow to stream assets based on the view frustum. I'm sorry but that's absolutely incorrect. Rage is a decade old example on a regular HDD doing exactly that. Now add an SSD and ask yourself why you wouldn't today. Especially as Epic have explained how Nanite much like vitual textures (megatextures in Rage) is one step further, virtualised geometry.
 
Last edited:

VFXVeteran

Banned
In what way? For once elaborate. My point is simple and directly addressed yours. You said that the drive is too slow to stream assets based on the view frustum. I'm sorry but that's absolutely incorrect. Rage is a decade old example on a regular HDD doing exactly that. Now add an SSD and ask yourself why you wouldn't today. Especially as Epic have explained how Nanite much like vitual textures (megatextures in rage) is one step further, virtualised geometry.

I never said the drive is too slow. I said that the GPU could become too slow to keep up with the assets depending on how detailed the scene is. Of course, a developer would taylor their game to get their target FPS so this is all moot.

For example, take one of the characters in a game that uses an old texture lookup method to approximate subsurface scattering. Suppose that texture was indexed by the shader from an area of samples in the texture space. Now consider that the texture has increased in size by 2x,4x,8x as a higher resolution asset. It SSD could get the texture into RAM plenty fast, but the GPU now has to sample the same area as the smaller texture but requiring many more lookups. This would slow down the rendering process and thus the FPS. There is a reason why shadow maps have lower resolution, small geometry doesn't get shadow maps, SSS lighting is too crude, SSR is using low res reflections, environment sky is low res, normal maps look very crude when viewed up close, an LOD transition of self-shadowing on terrain as the character walks closer to objects, hair shading only has 1-2 specular lobes, only one shadow casting light source in the view at one time, etc.. etc..

A developer isn't going to ask himself, what should be the target for streaming in our game's assets. The question should be what resolution and what framerate do we wish to target our game given our art assets. IOW, they would use the GPU as their limiting factor - not the SSD.
 
Last edited:

Clear

CliffyB's Cock Holster
A developer isn't going to ask himself, what should be the target for streaming in our game's assets. The question should be what resolution and what framerate do we wish to target our game given our art assets. IOW, they would use the GPU as their limiting factor - not the SSD.

Resolution is not data-dependent, frame-rate on the other hand potentially is completely bound by it. Because if the engine cannot access data critical to the interactive nature of the scene being displayed (e.g. collision meshes) fast enough, then it has to stall while i/o catches up.

If frame-rate starts to suffer because rasterization time sometimes exceeds its window on the other hand, then there are multiple economies to reduce render cost such as dynamic resolution switching.

As I pointed out before, prioritizing i/o over compute makes critical failure less likely.
 

VFXVeteran

Banned
Resolution is not data-dependent, frame-rate on the other hand potentially is completely bound by it. Because if the engine cannot access data critical to the interactive nature of the scene being displayed (e.g. collision meshes) fast enough, then it has to stall while i/o catches up.

Resolution is data-dependent in certain ways. RTX is resolution dependent due to it's design and thus data dependent. The higher the resolution, the more rays you have to cast for intersection. The more models in the scene, the more intersection testing for any given ray.

If frame-rate starts to suffer because rasterization time sometimes exceeds its window on the other hand, then there are multiple economies to reduce render cost such as dynamic resolution switching.

Yes, and people are tired of that. They want to see true native 4k WITH a smooth FPS. That's the overall concern of all of these threads.
 
Last edited:

geordiemp

Member
This same mentality can be applied to the GPU caches; to refresh them quickly means virtually all of these same things, and that's something faster RAM bandwidth helps with since the GPU can fetch/copy data more frequently across the memory bus per second.

And PS5 has cache scrubber and coherency engines so it is more efficient refresh in hardware stated by Cerny. Matt is hinting what teh benefit is below (he is naughty)



And XSX can blend in textures that arrive late with that new hardware edition.

A technique called Sampler Feedback Streaming - SFS - was built to more closely marry the memory demands of the GPU, intelligently loading in the texture mip data that's actually required with the guarantee of a lower quality mip available if the higher quality version isn't readily available, stopping GPU stalls and frame-time spikes. Bespoke hardware within the GPU is available to smooth the transition between mips, on the off-chance that the higher quality texture arrives a frame or two later.

The new bespoke hardware for XSX is listed as the blender to smooth the transition, if there was other bespoke hardware Goosen would of likely said so..

So 2 ways to skin the cat with bespoke hardware.
 
Last edited:

BluRayHiDef

Banned
VFXVeteran VFXVeteran

Don't judge me, because I'm not a computer graphics expert; I'm just a layman. So, I was wondering that since Nanite enables the use of high-fidelity textures (as high as 8K cinematic textures) without the use of any LOD models, wouldn't rendering such textures be as simple as an optical-disc player rendering video off a video disc (e.g. Blu-ray, Ultra HD Blu-ray, etc)? The textures are just static data that each have only one variation per unit since there are no LOD models. So, shouldn't rendering them be a cake walk for a decent GPU that has a decent amount of VRAM?
 

Elog

Member
A developer isn't going to ask himself, what should be the target for streaming in our game's assets. The question should be what resolution and what framerate do we wish to target our game given our art assets. IOW, they would use the GPU as their limiting factor - not the SSD.

It is not really that simple, is it? 'Our art assets' are created with a specific I/O budget in mind - and that I/O budget has been basically the same for the last decade due to hardware limitations.

Let's take an hypothetical example: Unchartered 4 on a PS4 pro has a certain resolution with a certain amount of geometry etc. It also has a very fixed asset budget. And it shows. Sand building walls have something like 4 textures, there are two types of concrete bags, there is like 4 different pieces of pottery etc. And resolution of the textures is often quite low outside key objects and character models - there has been hard choices within the asset budget.

If you just created many more specific textures with higher resolution but otherwise kept the game as is, the GPU would not be that impacted in terms of work load when it comes to rendering but the I/O function would go crazy, i.e. as long as the VRAM can be shifted fast enough and the GPU caches can be fed and swapped fast enough, the visual upgrade would be huge for you as a player with limited amount of additional Tflops required from the GPU.

My point is that increasing the number of textures and the texture resolution impacts the graphics a lot without putting that much more pressure on the GPU. I would go as far as stating that at 1440p, most players would in a blind test think more and higher resolution textures increased graphics much more than going to 4K.
 

VFXVeteran

Banned
If you just created many more specific textures with higher resolution but otherwise kept the game as is, the GPU would not be that impacted in terms of work load when it comes to rendering

I completely disagree here. Can you show me a working example of this? Are you saying that increasing the texture sizes of ALL assets significantly, and for sake of clarity, you have a much larger pool of VRAM to store the fixed assets into memory, that the GPU would render the same speed?

My point is that increasing the number of textures and the texture resolution impacts the graphics a lot without putting that much more pressure on the GPU. I would go as far as stating that at 1440p, most players would in a blind test think more and higher resolution textures increased graphics much more than going to 4K.

Some shaders are dependent on texture size like POM for example and would take the shader longer to execute. That would certainly put pressure on the GPU (assuming that i/o was not the bottleneck).
 

VFXVeteran

Banned
VFXVeteran VFXVeteran

Don't judge me, because I'm not a computer graphics expert; I'm just a layman. So, I was wondering that since Nanite enables the use of high-fidelity textures (as high as 8K cinematic textures) without the use of any LOD models, wouldn't rendering such textures be as simple as an optical-disc player rendering video off a video disc (e.g. Blu-ray, Ultra HD Blu-ray, etc)? The textures are just static data that each have only one variation per unit since there are no LOD models. So, shouldn't rendering them be a cake walk for a decent GPU that has a decent amount of VRAM?

I am really unfamiliar with their technique from a programmer's perspective. So I can't really give any experienced opinion on the matter. I would say that there are several things in the shader pipeline that would slow down given large texture sizes like 8k and upwards.

I did a test one day where I loaded up UDIMs on a 3D model of the character Shaggy in the Scoob movie. He had 65 4k UDIM textures and the 2080Ti crashed due to texture memory. I then compressed the textures down and got good performance, but that was for 1 character. There isn't going to be a game with a character having 65 different textures for awhile. But that proves that bandwidth is very important and doesn't just go away with new tech.
 

Three

Member
I never said the drive is too slow. I said that the GPU could become too slow to keep up with the assets depending on how detailed the scene is. Of course, a developer would taylor their game to get their target FPS so this is all moot.

For example, take one of the characters in a game that uses an old texture lookup method to approximate subsurface scattering. Suppose that texture was indexed by the shader from an area of samples in the texture space. Now consider that the texture has increased in size by 2x,4x,8x as a higher resolution asset. It SSD could get the texture into RAM plenty fast, but the GPU now has to sample the same area as the smaller texture but requiring many more lookups. This would slow down the rendering process and thus the FPS. There is a reason why shadow maps have lower resolution, small geometry doesn't get shadow maps, SSS lighting is too crude, SSR is using low res reflections, environment sky is low res, normal maps look very crude when viewed up close, an LOD transition of self-shadowing on terrain as the character walks closer to objects, hair shading only has 1-2 specular lobes, only one shadow casting light source in the view at one time, etc.. etc..

A developer isn't going to ask himself, what should be the target for streaming in our game's assets. The question should be what resolution and what framerate do we wish to target our game given our art assets. IOW, they would use the GPU as their limiting factor - not the SSD.
I'm sorry, I'm trying to keep it civil but this is bullshit.

You said
I can't imagine pushing a target of 60FPS (or even 30FPS) the SSD would be fast enough to push into RAM, then the GPU pulls from RAM and renders. I would imagine a more realistic scenario would be streaming assets in one room. If you got to stream assets for every 180degrees, the GPU wouldn't be able to render it in time anyway.

Now tell me how on earth the GPU "could become" too slow to render things that are not even in view? What would loading the whole room save you in terms of "the GPU is too slow to do otherwise" if you were not referring to the fact that you think you cannot stream to the GPU fast enough based on the view frustum (turning 180 degrees) . The GPU would need to render the exact same frames anyway regardless. What you are saying is bullshit.
 

VFXVeteran

Banned
I'm sorry, I'm trying to keep it civil but this is bullshit.

To keep things civil, all you have to do is not make comments like "this is bullshit". Perhaps you don't understand what I'm saying. Perhaps I'm not clarifying enough.

Now tell me how on earth the GPU "could become" too slow to render things that are not even in view? What would loading the whole room save you in terms of "the GPU is too slow to do otherwise" if you were not referring to the fact that you think you cannot stream to the GPU fast enough based on the view frustum (turning 180 degrees) . The GPU would need to render the exact same frames anyway regardless. What you are saying is bullshit.

Here is what I"m saying in a nutshell.

If you set the SSD to stream infinite data, the GPU would have a problem rendering infinite data. I'm saying that something is going to be a bottleneck in a videogame. I'm saying that if the SSD is providing way more assets than what we are used to, the GPU still has to render them and that takes a FINITE amount of time (i.e. x resolution @ y FPS).

As far as things out of frustrum, you will always have ray-tracing this generation where things will have to be in the final pixel color that's NOT in the camera's view.
 

Three

Member
To keep things civil, all you have to do is not make comments like "this is bullshit". Perhaps you don't understand what I'm saying. Perhaps I'm not clarifying enough.



Here is what I"m saying in a nutshell.

If you set the SSD to stream infinite data, the GPU would have a problem rendering infinite data. I'm saying that something is going to be a bottleneck in a videogame. I'm saying that if the SSD is providing way more assets than what we are used to, the GPU still has to render them and that takes a FINITE amount of time (i.e. x resolution @ y FPS).

As far as things out of frustrum, you will always have ray-tracing this generation where things will have to be in the final pixel color that's NOT in the camera's view.
You are jumping from topic to topic and rambling that's why.

Please tell me what you think the bottleneck is in streaming based on your view vs streaming based on the room. Tell me how the latter would save GPU time?

You clearly said

I can't imagine... the SSD would be fast enough

But that is completely contradictory to this thread you've been defending the OP in so now you are saying that somehow the GPU would be too slow to render the exact same frames.
 

VFXVeteran

Banned
You are jumping from topic to topic and rambling that's why.

Please tell me what you think the bottleneck is in streaming based on your view vs streaming based on the room. Tell me how the latter would save GPU time?

You clearly said

I can't imagine... the SSD would be fast enough

But that is completely contradictory to this thread you've been defending the OP in so now you are saying that somehow the GPU would be too slow to render the exact same frames.

Sorry man. My sentence was pretty much a runon sentence.
I can't imagine pushing a target of 60FPS (or even 30FPS) the SSD would be fast enough to push into RAM, then the GPU pulls from RAM and renders

What I meant to say. I can't imagine trying to push a target of 60FPS (or even 30FPS) where the SSD would be fast enough to push into RAM and then the GPU pulls from RAM and renders the scene keeping the render target of 4k/60.

What I'm saying is that even if the SSD is fast enough to push an enormous amount of assets to RAM, that the GPU would become the bottleneck in rendering said assets @ 4k pushing a target render of 60FPS. I'm assuming a SHITLOAD of assets though. Which explains why the UE5 demo didn't run at true 4k @ 60FPS.

Streaming-wise in my view.. if the asset is SO detailed that you have to stream on a given asset vs. having a lot less assets so you can stream on a per-room basis, I think the GPU would falter. Let me put it another way. If I have to stream on a per object basis because I can't fit all of my assets into RAM for a given room, then I must have a shitton of assets and I would be worried about whether the GPU could even render that amount of data. Makes sense?

I'll even give an example. Suppose we have a conventional game of today where a character is holding a magic sword and it's FX requires about 1000 particles that all are semi-transparent. Then lets' say I want to store 1 million particles (particles have pretty simple data structures) to represent my highly detailed assets. Let's assume that the game would need to stream that many particles because of VRAM limits, but the GPU would choke trying to render 1M semi-transparent particles because of how costly transparency is. Does that make sense?
 
Last edited:

geordiemp

Member
To keep things civil, all you have to do is not make comments like "this is bullshit". Perhaps you don't understand what I'm saying. Perhaps I'm not clarifying enough.



Here is what I"m saying in a nutshell.

If you set the SSD to stream infinite data, the GPU would have a problem rendering infinite data. I'm saying that something is going to be a bottleneck in a videogame. I'm saying that if the SSD is providing way more assets than what we are used to, the GPU still has to render them and that takes a FINITE amount of time (i.e. x resolution @ y FPS).

As far as things out of frustrum, you will always have ray-tracing this generation where things will have to be in the final pixel color that's NOT in the camera's view.

In the UE5 demo fast IO was important and they used Lumen global illumination that did not need outside information out of the frustrum. Yes it not ray tracing but it looked great.
 

Three

Member
I completely disagree here. Can you show me a working example of this? Are you saying that increasing the texture sizes of ALL assets significantly, and for sake of clarity, you have a much larger pool of VRAM to store the fixed assets into memory, that the GPU would render the same speed?

Rage is a crude example with huge single textures but unique to your view. Where the artist did not need to worry about an asset budget.

What that person is saying is that having many more specific higher res textures (unique to that object), which is a benefit of streaming based on view, is better than rendering at higher resolution.


I am really unfamiliar with their technique from a programmer's perspective. So I can't really give any experienced opinion on the matter. I would say that there are several things in the shader pipeline that would slow down given large texture sizes like 8k and upwards.

Well that explains a lot. The GPU doesn't need the entire 8k textures. Only what is 'sampled' based on the view and resolution.

Streaming-wise in my view.. if the asset is SO detailed that you have to stream on a given asset vs. having a lot less assets so you can stream on a per-room basis, I think the GPU would falter. Let me put it another way. If I have to stream on a per object basis because I can't fit all of my assets into RAM for a given room, then I must have a shitton of assets and I would be worried about whether the GPU could even render that amount of data. Makes sense?

The GPU would need to render whatever is in view at the given resolution regardless. So it doesn't make sense, no. What would it falter at?
 

pawel86ck

Banned
I am really unfamiliar with their technique from a programmer's perspective. So I can't really give any experienced opinion on the matter. I would say that there are several things in the shader pipeline that would slow down given large texture sizes like 8k and upwards.

I did a test one day where I loaded up UDIMs on a 3D model of the character Shaggy in the Scoob movie. He had 65 4k UDIM textures and the 2080Ti crashed due to texture memory. I then compressed the textures down and got good performance, but that was for 1 character. There isn't going to be a game with a character having 65 different textures for awhile. But that proves that bandwidth is very important and doesn't just go away with new tech.
So SSD in PS5 will not do any miracles for my games? I thought PS5 games will look like next gen compared to PC / XSX thanks to SSD, because PS fans and magician Cerny were constantly praising it and suggesting this will be the case. Are you suggesting these people were full of 💩 and I should temper my expectations🤔? Can you tell us based on your knowledge what graphics fidelity improvements can we realistically expect from PS5 games thanks to it's SSD?
 
Last edited:

Clear

CliffyB's Cock Holster
They want to see true native 4k WITH a smooth FPS. That's the overall concern of all of these threads.

People would have the moon on a stick if anything was possible. However it isn't, especially in cases like this where we are dealing with performance on fixed-spec hardware.

Its responses like this that make me seriously question your alleged "insider status". Compromise is inevitable, because noone gets given infinite time and resources. Meaning that in turn, the form any of these compromises take, the way these "fixes" are implemented, is often in even more time and manpower constrained conditions.
 

Lort

Banned
So SSD in PS5 will not do any miracles for my games? I thought PS5 games will look like next gen compared to PC / XSX thanks to SSD, because PS fans and magician Cerny were constantly praising it and suggesting this will be the case. Are you suggesting these people were full of 💩 and I should temper my expectations🤔? Can you tell us based on your knowledge what improvement in graphics fidelity can we realistically expect from PS5 games thans to it's SSD?

Less texture pop in and faster world travel, they are the two benefits Cerny noted.

If you wants games with better and less repeated textures you need bigger games ( or better compression). Neither console really wants to allow 400GB games ... so the amount of textures wont be orders of magnitude bigger .. even if the SSD could stream them. So the games because of SSD wont look that much better, they will run better.

The only exception to this is when you have a large game that restricts movement to a very small area. A game that is 100GB and only allows you in a few rooms of a single house from start to finish could look awesome.
 
Last edited:
But you are missing the most important point. What can the GPU handle with rendering it? That's the big elephant in the room.
nanite showed multiple 8k textures per surface and Hollywood quality cinematic assets with triangle per pixel geometry is possible for static content. with baked lighting it can run at 4k native 30fps or 1440p 60fps.

At least for static geometry detail can be as high as is visually discernible to the human eye.
 

Lort

Banned
nanite showed multiple 8k textures per surface and Hollywood quality cinematic assets with triangle per pixel geometry is possible for static content. with baked lighting it can run at 4k native 30fps or 1440p 60fps.

At least for static geometry detail can be as high as is visually discernible to the human eye.

Nanite looks cool but lacks so many things .. at some point theyll add reflections ray tracing, etc and then the performance will start to tank. ( but hopefully still be awesome)

Simply lit polygons are very fast on GPUs, add in complex shaders is when you become GPU and TF bound.
 
I never said the drive is too slow. I said that the GPU could become too slow to keep up with the assets depending on how detailed the scene is. Of course, a developer would taylor their game to get their target FPS so this is all moot.

For example, take one of the characters in a game that uses an old texture lookup method to approximate subsurface scattering. Suppose that texture was indexed by the shader from an area of samples in the texture space. Now consider that the texture has increased in size by 2x,4x,8x as a higher resolution asset. It SSD could get the texture into RAM plenty fast, but the GPU now has to sample the same area as the smaller texture but requiring many more lookups. This would slow down the rendering process and thus the FPS.

your are stretching your example with a problem that may or may not exist depending what the developer do, sure it could become true but that is true for any game on any 3d system, a texture is supposed to be ready before being used, you prefetch data or you have and use a smaller one while the new one comes, if you have to make lookups is a problem how you plan your streaming not a GPU power problem with the rendering part, a texture use percentages to reffer to texture cordinates you can change texture size and there is no problem you still refer to the same UV of the image sure now we have more MIP maps with bigger size also more LOD models that is why the new system have much more powerful GPU but streaming is not a new technology if you dont have a MIP map you can use smaller ones while you load the correct one it causes the UE3 popup problems more prevalent in PS3 and 360 games but now we have fast SSD and you dont have to load required character mip maps at mid-frame you know also you can subdivide mip maps similar to SFS and pick what you need sure you can still have pop-up but PS5 SSD is so fast they should resolve before they become obvious, you should not be concerned the unreal 5 demo showed they can make games with very big textures and 3d models with amazing ilumination streaming from SSD without problems in PS5
 
Last edited:
Nanite looks cool but lacks so many things .. at some point theyll add reflections ray tracing, etc and then the performance will start to tank. ( but hopefully still be awesome)

Simply lit polygons are very fast on GPUs, add in complex shaders is when you become GPU and TF bound.

sure but that is true for any game in any system and not only RT, reflections in general are a problem that can tank performance if not done carefully
 

Lort

Banned
sure but that is true for any game in any system and not only RT, reflections in general are a problem that can tank performance if not done carefully

indeed, i felt it was a bit deceptive for EPIC to compare it to fortnite which looks a lot simpler but has a lot of stuff not in the nanite demo... that will lower performance.
 
indeed, i felt it was a bit deceptive for EPIC to compare it to fortnite which looks a lot simpler but has a lot of stuff not in the nanite demo... that will lower performance.

I am not a fortnite player I dont know exactly what effects you reffer but I dont think that fortnite(a current gen game) can have an effect that particulary can become a problem in next gen, current gen games use a lot of SSR for reflective surfaces(is that what fortnite uses?) I dont think they can be a problem in UE5
 

Lort

Banned
I am not a fortnite player I dont know exactly what effects you reffer but I dont think that fortnite(a current gen game) can have an effect that particulary can become a problem in next gen, current gen games use a lot of SSR for reflective surfaces(is that what fortnite uses?) I dont think they can be a problem in UE5

Its not a particularly fx heavy game its just odd the comparison EPIC made between them.. rereading this they do clarify actually and say “geometry rendering budget”...
 

VFXVeteran

Banned
People would have the moon on a stick if anything was possible. However it isn't, especially in cases like this where we are dealing with performance on fixed-spec hardware.

Its responses like this that make me seriously question your alleged "insider status". Compromise is inevitable, because noone gets given infinite time and resources. Meaning that in turn, the form any of these compromises take, the way these "fixes" are implemented, is often in even more time and manpower constrained conditions.

Dude, all I did was give you an imaginary scenario. You don't have to poke at my career or who I know or what I know, yet again. It's like you guys try your hardest to not agree with simple facts.
 
Last edited:

VFXVeteran

Banned
The entire point of the tech in Unreal 5 is not to care about the resolution of the source assets, but load only what it is view at the appropriate mip level, I could have 100 of gigs of textures in a scene, it will never need to load them all.

I know that. You guys are still not addressing the rendering point. You are acting like the game can have unbounded resources and it will magically render all those resources no matter what the speed of the GPU to render.
 

VFXVeteran

Banned
nanite showed multiple 8k textures per surface and Hollywood quality cinematic assets with triangle per pixel geometry is possible for static content. with baked lighting it can run at 4k native 30fps or 1440p 60fps.

At least for static geometry detail can be as high as is visually discernible to the human eye.

Hollywood quality assets? Not a chance. That demo wasn't anywhere near CG assets.

And that demo didn't run at 4k/30, it ran at 1440p/30.
 
Top Bottom