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

Alebrije

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


So the WiiU its a pretzel....
 
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.
You're kind of thinking of it backwards. The eSRAM isn't like a giant cache. It's more like a tiny pool of VRAM.

Or Guerrilla simply wasted tons of RAM because they could.
Got anything to support such a supposition?

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.
FWIW, Anand seems to think operating as a cache would be the preferred solution, implying performance advantages. When it was confirmed the eSRAM didn't operate as a cache like Intel's solution, Anand's response was something to the effect of, "Oh well; so much for that." IIRC, he also quoted Intel as saying that main memory would need to run at 130 Gbps to eliminate the need for the cache, and obviously the PS4's main pool is a good bit faster than even that.
 

rrs

Member
ESRAM is a quirky hardware addon more than likely used as a framebuffer or very tiny cache.

Also the Iris Pro more or less has the 128 MB to use as a VRAM cache due to using DDR3 as VRAM.
 
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 muchslower speed than PS4
second smaller conveyor belt running faster than main Xbone belt

Your game assets are the boxes on the conveyor belt.
This is probably the simplest way of thinking about it, I think.
You just need box sizes for comparison. Both main belts can hold 250 boxes of data (32Mb each). The secondary Xbone belt can only hold one box at a time.
 

Raonak

Banned
Both sony and MS have built highways.

MS has a 250 lane highway. But it has a 30mph speed limit.
To compensate, they built a fast lane, which has a 50mph speed limit, but of course, it only has 1 lane.

Sony built a 250 lane highway, but with a 85mph speed limit.

now MS's workers are arriving late because of the frequent traffic jams, so MS has slashed their holiday bonus from $1080 to $720
 
Aren't new and improved compression techniques supposed to make the 32mb enough? That is, once devs learn to use it correctly?

We still don't really know everything about these machines...
 

Raonak

Banned
Aren't new and improved compression techniques supposed to make the 32mb enough? That is, once devs learn to use it correctly?

We still don't really know everything about these machines...

RAM is the active working memory, I'm pretty sure you cant compress it. Because if you did, you'd have to store that uncompressed data somewhere in the ram anyway.

You can optimize your engines to better avoid the bottleneck.

Even though we don't know everything about the machines, we know the specs. we also know that COD is going to be 720p on xbo and 1080p on ps4.
 
Vegeta wants to fight Goku on even terms, so he's allowed himself to become a Majin for the sake of unleashing his potential. Unfortunately, he doesn't realize that Goku has already reached another tier beyond SSJ2 and is only humoring him; the Majin transformation is a dead-end that will never allow Vegeta to reach power comparable to a SSJ3.

Someone had to do it, right?

10/10
 

Ken

Member
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

Anyway, so many great laymanish explanations and I'm still in for the 3 Stooges Syndrom and Lemongrabs...sigh

spoilers nana is a qt but the rest of the movie is kind of weird
 

monlo

Member
The graphics chip on the Xbox One has to draw the picture somewhere. The main memory is slow, so it's like picking up pens and doing the drawing underwater. The ESRAM is like a tiny dry spot out of the pool where the graphics chip can work faster, but the problem is it has to find room for both the pens and do the drawing in that little spot, so it's got helpers constantly swapping in and out pens and papers from the pool. It can only fit a few papers at full resolution, so if it's trying to draw a fancy picture with lots of layers it could run out of room and have to reduce the size (resolution) of the drawing. Keep in mind this is how the 360 worked, but the dry spot was faster and larger in relative terms and the swapping more automatic.

With the PS4, everything's laid out in a giant gymnasium with a waxed floor so everything happens faster than even the dry spot in the Xbox One, and there's no real need to shuffle things around in it. The main drawback is that everybody, including Sony, thought the gym was going to be half the size of the pool the Xbox was using up until the last minute of the design phase. There's also suggestions that the waxed floor might make people slip a little when changing directions (latency) compared to the pool, but the GPU doesn't change directions much, and the CPU walks slower and more carefully anyway (different memory controller).

Hope that makes sense.

George-Costanza-clapping.gif
 
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.

Not really because the 178GB/s bandwidth of the GDDR5 is barely slower than the 200GB/s of the eSRAM. Except you have 250x more GDDR5 to work with then the 32MB of eSRAM. Developers will be able to do practically anything with the GDDR5 and their options will be incredibly limited with what they can do on the eSRAM.

The embedded ram was fantastic in the 360 because it was such a massive increase over the system ram, and there was 10MB eDRAM vs. 512MB of unified system memory. Now we have 32MB eSRAM vs. 8,000MB of DDR3/GDDR5 RAM. See the difference?

The eSRAM is basically going to be used exactly like the eDRAM of the X360. Simple post processing effects layered on top of whatever the GPU has already pushed out via the system memory. And that will be the downfall of the X1 from the jump. 67GB/s of memory bandwidth is barely ok now, but come this time next year ... could get ugly pretty fast.

We'll see though. Console devs have a way of surprising you. Technical wizards they are.
 

coldone

Member
can someone throw in a Wii U comparison while we're at it?

WiiU, 360, Xbone all share similar eSRAM/eDRAM architecture.

PS2 used to have similar internal fast SRAM.

It worked well when the frame buffer sizes were small. like 480p or 540p. 1080p is 2.25 times bigger than 720p. Also we moved from 16/14 bits per pixel to shiny 24 bits per pixel for improved color range etc. Just having a small eSRAM is not cutting it any more.
 

Gavarms

Member
The graphics chip on the Xbox One has to draw the picture somewhere. The main memory is slow, so it's like picking up pens and doing the drawing underwater. The ESRAM is like a tiny dry spot out of the pool where the graphics chip can work faster, but the problem is it has to find room for both the pens and do the drawing in that little spot, so it's got helpers constantly swapping in and out pens and papers from the pool. It can only fit a few papers at full resolution, so if it's trying to draw a fancy picture with lots of layers it could run out of room and have to reduce the size (resolution) of the drawing. Keep in mind this is how the 360 worked, but the dry spot was faster and larger in relative terms and the swapping more automatic.

With the PS4, everything's laid out in a giant gymnasium with a waxed floor so everything happens faster than even the dry spot in the Xbox One, and there's no real need to shuffle things around in it. The main drawback is that everybody, including Sony, thought the gym was going to be half the size of the pool the Xbox was using up until the last minute of the design phase. There's also suggestions that the waxed floor might make people slip a little when changing directions (latency) compared to the pool, but the GPU doesn't change directions much, and the CPU walks slower and more carefully anyway (different memory controller).

Hope that makes sense.

Thank you.
That is the best explanation regarding the memory of each system I have read
 

wsippel

Banned
WiiU, 360, Xbone all share similar eSRAM/eDRAM architecture.

PS2 used to have similar internal fast SRAM.

It worked well when the frame buffer sizes were small. like 480p or 540p. 1080p is 2.25 times bigger than 720p. Also we moved from 16/14 bits per pixel to shiny 24 bits per pixel for improved color range etc. Just having a small eSRAM is not cutting it any more.
360 eDRAM was a dedicated framebuffer, comparable to the eFB in Gamecube and Wii. Wii U's main eDRAM pool is the modern equivalent to both eFB and MEM1 in previous Nintendo systems, which means it's fast general purpose system memory for the framebuffer and other purposes. It can also be used as a scratchpad for performance critical routines running on the CPU. I don't know if this is possible on Xbone.
 
It can also be used as a scratchpad for performance critical routines running on the CPU. I don't know if this is possible on Xbone.
According to the Fellows, the CPU can access the eSRAM, "but it's very slow," so it doesn't sound like it's a particularly useful technique on the XBone.
 

onQ123

Member
The way I see it is that the eSRAM isn't causing the problems.

I think it's the DDR3 that's causing the problem & the eSRAM just isn't helping it as well as it should right now.
 
The way I see it is that the eSRAM isn't causing the problems.

I think it's the DDR3 that's causing the problem & the eSRAM just isn't helping it as well as it should right now.
That's basically correct, though it's worth remembering eSRAM will never a perfect solution, and even if it were, the XBone is still a good bit less powerful than the PS4. For example…

XBone no eSRAM: 640p
XBone poorly implemented eSRAM: 720p
XBone well implemented eSRAM: 800p
XBone with GDDR5: 900p
PS4: 1080p

These numbers are ass-sourced, but it gives you an idea of what you're looking at with XBone development. The XBone is crippled by its memory on top of simply being weaker overall.
 
That's basically correct, though it's worth remembering eSRAM will never a perfect solution, and even if it were, the XBone is still a good bit less powerful than the PS4. For example…

XBone no eSRAM: 640p
XBone poorly implemented eSRAM: 720p
XBone well implemented eSRAM: 800p
XBone with GDDR5: 900p
PS4: 1080p

These numbers are ass-sourced, but it gives you an idea of what you're looking at with XBone development. The XBone is crippled by its memory on top of simply being weaker overall.

Baked lighting, 1080p
'Detailed' graphics, 900p
Play it safe with your engine, 720p
 
Baked lighting, 1080p
'Detailed' graphics, 900p
Play it safe with your engine, 720p
To be clear, I didn't mean to imply the XBone couldn't do 1080p at all; clearly it can, though other sacrifices will need to be made. My comparison was meant to show a game that was "pushing" the PS4 at 1080p, and what resolutions you might need to run on XBone to hit the same frame rates with the same effects.

For example, the CoD dude said they had Ghosts running at 1080p on the XBone, but not at the frame rates they wanted. He didn't say what they were able to hit, but given the resolution differences in the shipping game, we can guess they could maybe do 1080p30 on the XBone if they chose. Next time around, when they have more experience with the eSRAM, they could maybe hit 1080p40, but they'll probably go 800p60 instead. Alternatively, they can cut effects on the XBone version, but that's less likely, as it's more noticeable.
 
Top Bottom