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

Can someone explain this eSRAM issue in layman's terms?

If there's one thing that we've learned this past generation is that third-party developers are not going to go out of their way to get the most out of hardware that's difficult to use.

That's why most (if not all) of the multiplatform games looked better on the 360, but the PS3 exclusives looked better than them.

there was an incentive to learn the ps3, since it's good at parallel processing.
 
Am I wrong to think of it in terms of conveyor belts:

PS4:
One big conveyor belt running at a constant high speed.

XBone:
One big conveyor belt running at a slower speed than PS4
One smaller conveyor belt running faster than PS4

Your game assets are the boxes on the conveyor belt.
 
Yes, but in this case, with only 32MB of ESRAM acting as a Cache for 8GB of DDR3 RAM, you're asking a very small cache pool to handle pretty big HD assets.

You're also asking the developers to build their games AROUND the 32MB of ESRAM, as opposed to just letting them have a single, consistent, large pool of RAM (like 1 big pool of 8GB GDDR5 RAM *cough PS4 cough*).

Well you'd hope that the drivers will be developed to help developers optimise things in that regards, thats what some rumours have suggested anyway, but we'll see. I do think in 6 months time, we'll see a marked improvement in third party games, there will always been an edge to the PS4 though.
 
Am I wrong to think of it in terms of conveyor belts:

PS4:
One big conveyor belt running at a constant high speed.

XBone:
One smaller conveyor belt running at a slower speed than PS4
One way smaller conveyor belt running faster than PS4
fixed memory size is irrelevant when gddr5 transfers bigger data at faster rates.
 

beril

Member
I hate to do this to XB1 fans but...

ESRAM creates latency in variable-environment games. Period.

It may help push HD textures better than DDR3 alone, but the data has got to be called and retrieved before it gets into the pipeline. And since ESRAM acts as a cache, it gets flushed for new data whenever repeating data stops being called (when new levels/models/art/etc... are streamed or loaded)

That creates latency, which is ultimately a bottleneck.

The only games that will benefit from ESRAM are games with mostly static environments, like sports games or racing games, where all the art for the backgrounds, player models, etc... are loaded one time and don't change during the individual games or matches. Which is why games like NBA2K14 and Forza will be able to handle 1080p/60fps on the XB1. (ie. NBA2K14 games take place in one, enclosed arena at a time, with no draw distance or atmospheric effects to create. No variable explosions, no sudden bursts of light or particle effects. Here, ESRAM works well. Same with Forza, where each race is on a single track, within a capsulated environment where the background is actually a scrolling plane, as opposed to a true 3D landscape. Again, no major particle effects, no variable explosions... all art is largely loaded one time and that's it. It’s stored in the ESRAM bank and stays there until the next race or match or game loads up.)

But in games that have big, open worlds (Skyrim, GTA, etc…), or big MMOs (Everquest, WoW, ESO, etc…) or large-sandbox FPSes, like BF or large map CoD games, that have literally thousands of unique art assets and effects constantly being called, ESRAM will struggle because it's constantly being flushed for new data, rather than just providing the same static data. And since it’s only 32MBs, it’ll be flushed constantly, making it less useful.

That will be the limitation for the XB1 for the entirety of this "Next-Generation". The XB1 will simply work better at 720p upscaled than it will at 1080p native, because the 720p art assets are smaller.

that's not really the issue. The whole point is to use it for framebuffers. If you have extra space then sure there's a benefit to putting to most heavily used textures in the esram, but the problem is that there isn't enough for the framebuffers to begin with
 
Am I wrong to think of it in terms of conveyor belts:

PS4:
One big conveyor belt running at a constant high speed.

XBone:
One big conveyor belt running at a slower speed than PS4
One smaller conveyor belt running faster than PS4

Your game assets are the boxes on the conveyor belt.

Well they're both slower than the PS4 belt, but their speeds add up to be just a little bit more. However some people think you can use both belts at the same time, some people don't think you can. Probable answer is that you can use both, but not to full potential.
 

Sorc3r3r

Member
I hate to do this to XB1 fans but...

ESRAM creates latency in variable-environment games. Period.

It may help push HD textures better than DDR3 alone, but the data has got to be called and retrieved before it gets into the pipeline. And since ESRAM acts as a cache, it gets flushed for new data whenever repeating data stops being called (when new levels/models/art/etc... are streamed or loaded)

That creates latency, which is ultimately a bottleneck.

The only games that will benefit from ESRAM are games with mostly static environments, like sports games or racing games, where all the art for the backgrounds, player models, etc... are loaded one time and don't change during the individual games or matches. Which is why games like NBA2K14 and Forza will be able to handle 1080p/60fps on the XB1. (ie. NBA2K14 games take place in one, enclosed arena at a time, with no draw distance or atmospheric effects to create. No variable explosions, no sudden bursts of light or particle effects. Here, ESRAM works well. Same with Forza, where each race is on a single track, within a capsulated environment where the background is actually a scrolling plane, as opposed to a true 3D landscape. Again, no major particle effects, no variable explosions... all art is largely loaded one time and that's it. It’s stored in the ESRAM bank and stays there until the next race or match or game loads up.)

But in games that have big, open worlds (Skyrim, GTA, etc…), or big MMOs (Everquest, WoW, ESO, etc…) or large-sandbox FPSes, like BF or large map CoD games, that have literally thousands of unique art assets and effects constantly being called, ESRAM will struggle because it's constantly being flushed for new data, rather than just providing the same static data. And since it’s only 32MBs, it’ll be flushed constantly, making it less useful.

That will be the limitation for the XB1 for the entirety of this "Next-Generation". The XB1 will simply work better at 720p upscaled than it will at 1080p native, because the 720p art assets are smaller.

A question good Gaffer: how much this can impact on the scope of the next gen multiplatform games?
My biggest fear after reading your post is to see GTA-next or Skyrim-next or whaterever-next to be dragged down for a whole gen by those issues.
Just bringing down the resolution can be sufficent going on, or the entire vision on a game must be redesigned?
 

nib95

Banned
|---360/PS3 - Current Gen
|
|---WiiU - Current Gen Plus
|
|
|
|---Xbone
|
|---PS4 - Next Gen
|
|---High End PC - Next Gen Plus

Closer to Next Gen than to Current Gen, but its a shitty Next Gen if that's your only experience of it. And you're more likely to get native 1080p on the WiiU than the Xbone.

I made a very quick graph showing the performance delta between the consoles. This does not take in to account memory bandwidth, ease of development and so on and so on, all things that would change the performance gulf, in favour of the PS4.

EDIT: See below.
 

Dr_Swales

Member
CONSOLEPERFORMANCECOMPAREDB.jpg~original

The PS4's performance is off the chart!
 
I made a very quick graph showing the performance delta between the consoles. This does not take in to account memory bandwidth, ease of development and so on and so on, all things that would change the performance gulf, in favour of the PS4.

CONSOLEPERFORMANCECOMPAREDB.jpg~original

your chart is combining the CPU plus GPU computation for the x360 generation but is not doing it for the xb1 ps4 gen, just s oyu know.
 
your chart is combining the CPU plus GPU computation for the x360 generation but is not doing it for the xb1 ps4 gen, just s oyu know.

Lol. I was going to add in PC, but then I realised PC gaming Tflops are not quantifiable. There is a considerable variance depending on the GPU.



Snap, I totally forgot. Duh....

but the the ps3 gpu might have more flops but its weaker than that of the 360
 

AgentP

Thinks mods influence posters politics. Promoted to QAnon Editor.
I've sen people calling eSRAM a bottleneck, only the size is. eSRAM is actually the solution to memory bandwidth bottleneck created by the main pool of DDR3. If you can't manage the itty-bitty 32MB in parallel to alleviate the DDR3, you get situation like we have today with COD and BF4.
 

nib95

Banned
Fixed graph.

Console_Performance_Comparison_ALL.jpg~original


Flop count for each console.

Wii: 61 Gflops
Xbox 360: 317 Gflops
PS3: 406 Gflops
Xbox One: 1.422 Tflops
PS4: 1.942 Tflops
 
The graphics chip needs graphics memory, and the XBone only has regular memory, which cripples the system. The eSRAM is like a crutch to help make up for the fact the system is crippled by it's memory.

It's not a BMW M3; it's a crutch. It's better than having no crutch, but not nearly as nice as not being crippled.
 
yeah BF4 on X1 is missing ambient occlusion.

but the difference is hardly noticeable, the only thing thats is noticeable is more aliasing mainly in the background, only hardcore graphics nuts are really going to care and its no more severe then worse looking multiplats on the PS3.

Actually DICE said they will be adding ambient occlusion to the XBOX One version before release.
 
Fixed graph.

[Chart comparing Game consoles FLOP count]

Hey nib can you post the actual FLOP count for all the consoles on that chart or has it already been posted?

Actually DICE said they will be adding ambient occlusion to the XBOX One version before release.

I'm curious to see if the addition of AO makes the framerate less stable

Logic would say most likely but DICE are wizards
 
I hate to do this to XB1 fans but...

ESRAM creates latency in variable-environment games. Period.

It may help push HD textures better than DDR3 alone, but the data has got to be called and retrieved before it gets into the pipeline. And since ESRAM acts as a cache, it gets flushed for new data whenever repeating data stops being called (when new levels/models/art/etc... are streamed or loaded)

That creates latency, which is ultimately a bottleneck.

The only games that will benefit from ESRAM are games with mostly static environments, like sports games or racing games, where all the art for the backgrounds, player models, etc... are loaded one time and don't change during the individual games or matches. Which is why games like NBA2K14 and Forza will be able to handle 1080p/60fps on the XB1. (ie. NBA2K14 games take place in one, enclosed arena at a time, with no draw distance or atmospheric effects to create. No variable explosions, no sudden bursts of light or particle effects. Here, ESRAM works well. Same with Forza, where each race is on a single track, within a capsulated environment where the background is actually a scrolling plane, as opposed to a true 3D landscape. Again, no major particle effects, no variable explosions... all art is largely loaded one time and that's it. It’s stored in the ESRAM bank and stays there until the next race or match or game loads up.)

But in games that have big, open worlds (Skyrim, GTA, etc…), or big MMOs (Everquest, WoW, ESO, etc…) or large-sandbox FPSes, like BF or large map CoD games, that have literally thousands of unique art assets and effects constantly being called, ESRAM will struggle because it's constantly being flushed for new data, rather than just providing the same static data. And since it’s only 32MBs, it’ll be flushed constantly, making it less useful.

That will be the limitation for the XB1 for the entirety of this "Next-Generation". The XB1 will simply work better at 720p upscaled than it will at 1080p native, because the 720p art assets are smaller.

But isn't that the point of tiled resources? In most games like that there ate a lot of heavy use elements you can tile for fast access.
 
Hey nib can you post the actual FLOP count for all the consoles on that chart or has it already been posted?



I'm curious to see if the addition of AO makes the framerate less stable

Logic would say most likely but DICE are wizards

I am really curious as to what effect AO will have on the up scaling. We shall see.
 

XultrA

Neo Member
Well they're both slower than the PS4 belt, but their speeds add up to be just a little bit more. However some people think you can use both belts at the same time, some people don't think you can. Probable answer is that you can use both, but not to full potential.

The 8GB are always accessed with max 58GB/s ,minus 20GB/s for CPU,at worst case.
If the data can't circle between eSRAM and GPU the speed Limit is max 58GB/s, the CPU can't access the eSRAM. ( nothing to read in the specsheets ,only 'very slow') The data can't be teleported to the DDR3 like MS wanted use to make believe :).
Sry for my englisch.
Peace
 

GodofWine

Member
I want to take a stab at this analogy...I love explaining things in odd terms...

PS4 is like taking a vacation and packing all your stuff in one large suitcase. When it comes time to find an outfit its pretty simple and quick.

XB1 is like packing your stuff in 4 smaller suitcases, when it comes time to pack and unpack you need to put more thought into what goes where and take a little more time when unpacking.

eh??
 

Crisco

Banned
It's like if you built a device that's main purpose was to market and sell digital content, but needed a cheap way to make it capable of running contemporary video games too.
 

iceatcs

Junior Member
It show quite of gap from this graph, especially it is almost Wii U gap between Xbox One and PS4.
 

wsippel

Banned
Fixed graph.

Console_Performance_Comparison_ALL.jpg~original


Flop count for each console.

Wii: 61 Gflops
Xbox 360: 317 Gflops
PS3: 406 Gflops
Xbox One: 1.422 Tflops
PS4: 1.942 Tflops
I don't think the comparison is all that useful. Wii and PS3 didn't have fully programmable GPUs, so the GPU GFLOPS for those two are basically made up nonsense, and the usual figure for Xenos (240GFLOPS) is dubious as well because it simply adds the theoretical peak of all vector and scalar units. And the Wii U figure is obviously (plausible) guesswork.
 

charsace

Member
The graphics chip needs graphics memory, and the XBone only has regular memory, which cripples the system. The eSRAM is like a crutch to help make up for the fact the system is crippled by it's memory.

It's not a BMW M3; it's a crutch. It's better than having no crutch, but not nearly as nice as not being crippled.

Any memory can be graphics memory.
 
Any memory can be graphics memory.
Technically, sure, but that's the attitude that got MS in to this pickle, and a layman's explanation was requested.

You're right, it doesn't need to say "for graphics" on the box, but a given GPU requires a certain level of memory performance to maintain its own optimum performance, and the fact of the matter is, the XBone's main memory pool doesn't provide that level of performance. I explained this as "not having graphics memory," but you are correct that the speed of the memory is what's really important.

The eSRAM does provide the required level of performance, but it is very tiny; a GPU of this class would normally have 64x as much "graphics memory" as the eSRAM is providing the XBone. Hence, "a crutch, not an M3."
 

wsippel

Banned
Technically, sure, but that's the attitude that got MS in to this pickle, and a layman's explanation was requested.

You're right, it doesn't need to say "for graphics" on the box, but a given GPU requires a certain level of memory performance to maintain its own optimum performance, and the fact of the matter is, the XBone's main memory pool doesn't provide that level of performance. I explained this as "not having graphics memory," but you are correct that the speed of the memory is what's really important.

The eSRAM does provide the required level of performance, but it is very tiny; a GPU of this class would normally have 64x as much "graphics memory" as the eSRAM is providing the XBone. Hence, "a crutch, not an M3."
More and more games go deferred. Deferred renderers need a ton of bandwidth for the render targets, but those are small. Textures on the other hand are huge but don't require much bandwidth. So render targets go in the embedded RAM, textures and geometry in the external memory pool. That's the idea behind Microsoft's (and Nintendo's) approach.
 
More and more games go deferred. Deferred renderers need a ton of bandwidth for the render targets, but those are small. Textures on the other hand are huge but don't require much bandwidth. So render targets go in the embedded RAM, textures and geometry in the external memory pool. That's the idea behind Microsoft's (and Nintendo's) approach.

Yes I was going to ask about this as it seemed to be a method to go beyond the 32MB size limitation if you could have other resources being rendered elsewhere.
 
Deferred renderers need a ton of bandwidth for the render targets, but those are small.
800MB for Shadow Fall. That's about 25x the size of the eSRAM, and render targets aren't the only thing which needs to go there.

Yes, yes… tiled resources, blah blah blah. Those aren't a silver bullet. More like a magnesium crutch. It still doesn't change the fact the XBone's memory simply isn't up to snuff. The eSRAM doesn't make it better than a normal system. It just makes it less shitty than it would be otherwise.
 

lyrick

Member
Is that after the 10% reserved GPU resources for Kinect are considered?

It doesn't matter. All that chart actually tells you is the theoretical output of how quickly each GPU could processes Single Precision MUL-ADD operations for the GCN Architectures. Everything else on that chart is somehow even more meaningless.

You may as well include Firetrucks and Poodles and your favorite type of Fruit to the chart for the value that it adds to the greater understanding of Graphical Capabilities of each platform.
 

joesiv

Member
Ok, there have been some good analogies so far, but I figured I'd throw out one more:

Two small bakeries is baking cookies in a high rent city.

Both bakeries can barely afford their kitchen being in such a high lease area of an expensive city (Vancouver?). As such, they could only afford to have the tiniest of kitchens, so small in fact that they couldn't even afford to lease enough space for their ingredients (even things like salt and flower!). Since all bakers need ingredients, both bakeries have decided to lease large warehouses on the other side of town outside the dense city core. To transfer ingredients to the kitchen, both bakeries have hired 256 large trucks to do the duty.

Now the differences:

1) The PS4 bakery kept their eyes on making sure the commute for the trucks to be as quick as possible, so its warehouse is situated right next to the freeway. Rent is more expensive there, but the trucks can make the commute very quickly (175KM/h)!

2) The XBone bakery decided to save some money (in comparison), and lease a warehouse elsewhere where rent was cheaper. Unfortunately, there is no freeway nearby, so the trucks have to take farm roads to get to the kitchen, and are limited to 100KM/h. It was secretly hoping the rumors were true and the competitions warehouse was half sized...

But the XBone baker being such a smart fella (this isn't their first kitchen he's leased), decided to rent a small closet in a neighboring office building, this way they can have ingredients much closer and not have to rely on the slow trucks for recipes that need ingredients right away. The problem is, the rent in the area is so expensive they could only afford a closet that's half the size of their kitchen, it's so tiny that it's tough to decide what to put in there. Not only that, but he doesn't have time to get the ingredients himself, so he has to hire full time staff to run back and forth for his ingredients (on a pretty zippy scooter actually, but not freeway speeds). All this cost came at a... cost... though, as it forced him to have a kitchen even smaller than his competition with less ovens (baking capacity).

The grand openings:

When both bakeries open, the cookies are amazing! Depending on the intricacies of their cookies, they can both deliver 30-60 cookies per second. Both bakeries have tasty cookies (pretty images) to their customers, but the PS4's bakery's cookies are 50% bigger, and also significantly cheaper (and aren't shaped like bones...). Though it has to be said, the Xbone baker wraps up every cookie individually in some pretty fancy packaging that he feels everyone will be into (but drives up the cost). The PS4 baker charges extra for the fancy packaging.

But the XBone bakery isn't too concerned, he's hoping with some extra time working out his storage procedures, he'll be able to optimize his operations to make up any differences to his competition. In the meantime, he's paying big bucks purchasing one off trademarked recipe's that the competition don't have, which makes comparisons hard.

*edit* Oh, and I forgot to mention, while these boutique bakers are making their cookies, and relaunching their kitchens every 5-7 years, nearby the large cookie factory (PC) that's been around forever, is continually improving, and can basically produce as many cookies as necessary, at any size, and pretty much at any speed, given the customer is willing to pay for it. Or something like that...
 

Kalren

Member
It doesn't matter. All that chart actually tells you is the theoretical output of how quickly each GPU could processes Single Precision MUL-ADD operations for the GCN Architectures. Everything else on that chart is somehow even more meaningless.

You may as well include Firetrucks and Poodles and your favorite type of Fruit to the chart for the value that it adds to the greater understanding of Graphical Capabilities of each platform.

Except that for the PS4 and XB1, the comparison is very valid. And the gap in performance, which is substantial, doesn't even take in consideration the 10% reduction due to Snap/Kinect/OS reservations for the XB1.
 

Coconut

Banned
Well if we are talking to you like a total idiot


Pretty much it doesn't matter and you won't notice anything weird.


The guy making the cookie analogy is speaking gibberish because a PC should have some components upgraded every few years mainly the GPU which will cost about the same price as a console.
 

ZealousD

Makes world leading predictions like "The sun will rise tomorrow"
How is ESRAM any different from the cache? Is it just another pool of RAM before getting to the cache?
 

ElTorro

I wanted to dominate the living room. Then I took an ESRAM in the knee.
How is ESRAM any different from the cache? Is it just another pool of RAM before getting to the cache?

It's not a cache. A cache is a hardware-managed buffer that is transparent to software. The ESRAM pool is fully addressable by software and must be explicitly managed by software, that is, by the game itself or by the runtime environment that implements the API against which the game is developed. The games can and must determine manually what goes when into that pool.
 

Biker19

Banned
eSRAM is this generations Cell Processor in a way. Its something the devs don't fully understand quite yet making their jobs in part more difficult/involving.

The cell processor carries more benefit to having more better graphics when combining it along with the RSX GPU inside PS3 (in which you seen on 1st/2nd party PS3 games since about 2009).

eSRAM, however, doesn't give you more better graphics, just more bandwidth or some other sort. And even that's not enough to overcome the total bandwidth of PS4 because 32 MB's of eSRAM is very, very small.
 

ZealousD

Makes world leading predictions like "The sun will rise tomorrow"
It's not a cache. A cache is a hardware-managed buffer that is transparent to software. The ESRAM pool is fully addressable by software and must be explicitly managed by software, that is, by the game itself or by the runtime environment that implements the API against which the game is developed. The games can and must determine manually what goes when into that pool.

Right, I got that you have to load stuff onto the ESRAM manually. But the concept sounds like the same thing. A smaller pool of memory that's closer to the CPU to make things faster. Why not just expand the cache to make things faster rather than forcing the developers to work harder? Especially at sizes as low as 32MB.
 

joesiv

Member
The guy making the cookie analogy is speaking gibberish because a PC should have some components upgraded every few years mainly the GPU which will cost about the same price as a console.
Well the PC thing was a bit of a stretch lol... Though, I did mention the PC being the one that constantly upgrades the components, whereas the consoles get new kitchens every few years... and the PC's cookies are more expensive.

And the Wii was selling cupcakes in another city, last time people came from all around to try the cupcakes (got sick of cookies), this time. With the Wii U they moved to the same city as the other guys, but forgot to change his sign from cupcakes back to cookies.
 

wsippel

Banned
800MB for Shadow Fall. That's about 25x the size of the eSRAM, and render targets aren't the only thing which needs to go there.

Yes, yes… tiled resources, blah blah blah. Those aren't a silver bullet. More like a magnesium crutch. It still doesn't change the fact the XBone's memory simply isn't up to snuff. The eSRAM doesn't make it better than a normal system. It just makes it less shitty than it would be otherwise.
Or Guerrilla simply wasted tons of RAM because they could.
 

ElTorro

I wanted to dominate the living room. Then I took an ESRAM in the knee.
Right, I got that you have to load stuff onto the ESRAM manually. But the concept sounds like the same thing. A smaller pool of memory that's closer to the CPU to make things faster. Why not just expand the cache to make things faster rather than forcing the developers to work harder? Especially at sizes as low as 32MB.

That is an interesting question given that Intel implemented a 128MB L4 eDRAM cache for their Iris Pro graphics. My take on that is that a fully controllable pool of memory can, in theory, be used more efficiently since you can tailor its usage to your specific game. A cache, on the other hand, has the big advantage that your software doesn't have to deal with it. Since Intel's Iris Pro has no relevant marketshare, nobody would have optimized their game for it. Designing its small memory pool as a cache was the only option.

However, with Iris Pro, the driver can also choose to bypass the cache for individual operations, so the design allows at least for some level of control. In addition, with a size of 128MB, it doesn't have to be used as efficiently as the XBO's ESRAM.

I am actually typing this on a MacBook Pro with the i7-4960HQ which comes with Iris Pro. I am curious to see how well it would perform with those games in question at 720p and 1080p, although the iGPU itself has of course a different architecture and a theoretical performance peak of only ~900 GFLOPs.
 
Such a great thread, so many amazing good posts. I cached all pages on my phone to have good read while flying. Thank you!
Now, during transit, I can only contribute with my discovery that even these entertainment setups in the back of the plane-seats have a snap feature
which is not comparable to the XBoxOne approach I'm convinced without any hard knowledge

3BNyxvZ.jpg


Anyway, so many great laymanish explanations and I'm still in for the 3 Stooges Syndrom and Lemongrabs...sigh
 
Imagine the system RAM as a semi truck.

Large, can carry a lot of stuff but is slow.

Now imagine eSRAM as 2 door sports car. Fast but small.

Now... lets say a normal 1080p screen render involves 2 people and a full trunk.

A more advanced screen render needs 3 or maybe even 4 people and a full trunk.

It simply won't work. You can use the semi truck, but that'll be much slower. You can also move 2 people at a time, but you won't be able to achieve things like 60fps.

This is actually a great analogy. Let me make it more difficult- ethics.

ESRAM is the utility of ethics. You have to choose who goes first and who follows behind. With the PS4 it's not needed and a universal imperative is actually feasible.

If you had the choice to save everyone or making the choice to save a few you would obviously choose the former.
 
Top Bottom