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

Dr.Acula

Banned
All DDR5 is high latency.

DD3 on xbox is around ~7ns(nano seconds) while the DDR5 on PS4 is around 11ns.

Would that make a difference for certain apps? Possible
Would it make a difference in games? Not really, maybe in a very rare situation for a couple calculations here and there if you went hog wild with long shader code or something.

Oooohhhh, XBone uses DDR3, I get it now.
 

gotee12

Member
This has been one of the most helpful threads I've read in a long time. Thanx GAF! I entered it not fully understanding the frame buffer issues but now I know. And knowing is half the battle.

Yo Joe...
 

Beren

Member
I'll try and explain it in laymans...(a lot of this is assumption based mind).
Ah well Microsoft knew what they wanted and Sony too then, ty very much again, really thanks! very nice explanations :)

Didn't quote the whole thingy for space reasons :)
 
Where is that overheating thing from? I'm only familiar with the technical fellow interview by Digital Foundry where 150GB/s was the maximum they could get in the lab. I don't remember anything about heat being brought up there as an explanation.

xbox one is not overheating. a full-on 99% esram usage would cause overheating. can the xbone handle it? not quite sure. maybe they just upped the cpu and gpu clocks because those would produce less heat rather than running esram at full bandwidth. esram is embedded, and it's quite big so esram churning more heat would not only affect the esram but also the cpu+gpu. the ps4 gddr5 is apparently at 97% efficiency in practice, but the esram is targeting 150 gbps? that's way too low an efficiency. most likely it's heat, rather than esram being inefficient in the real world.
 

wsippel

Banned
Isn't eSRAM faster than GDDR5 in terms of raw speed?
In this case, it isn't. Not when it comes to bandwidth because the bus isn't all that wide. When it comes to latency however, it's much faster than GDDR5. Depending on what you use it for, it can be faster or slower than GDDR5 in real world applications.
 

Perkel

Banned
All DDR5 is high latency.

DD3 on xbox is around ~7ns(nano seconds) while the DDR5 on PS4 is around 11ns.

Would that make a difference for certain apps? Possible
Would it make a difference in games? Not really, maybe in a very rare situation for a couple calculations here and there if you went hog wild with long shader code or something.

There is not better latency on DDR3.

GDDR5 works in much higher frequency essentially nullifying better latency of DDR3 over GDDR5
 
Sony's ram journey.

Sony wanted a more gaming centric console with less emphasis on additional media features or multiple operating systems. To get that, they'd need fast GDDR5 ram.

At the time it was expensive and didn't come in large sizes, so they went with the highest amount they could, which was 4GB of GDDR5.

Originally the PS4's OS reserve only took up 512mb of ram, which still left 3.5GB of fast ram left for gaming. Later the OS reserve jumped to 1GB (leaving 3GB for games).

During this time, they worked with partners to try and speed up the development and manufacture of larger GDDR5 ram kits, and eventually last minute managed to secure 8GB GDDR5 kits. So the PS4 was then upgraded to 8GB of GDDR5 ram instead of the previous 4GB. They also upped the OS reserve from 1GB to 2GB, still leaving 6GB GDDR5 for games
Could this explain why the PS4 is launching with some features missing? Because the original OS design assumed a machine with 4GB max?
 

Codeblew

Member
Isn't a frame buffer all the data in a frame that will be sent out to the TV? Wouldn't compressing that data effect the iq?

I think the frame buffer is like a scratchpad for the GPU where it needs a 1:1 mapping for each pixel. A pixel may be overwritten several times (think drawing far off objects first and then drawing closer objects over the top of them later). If the frame buffer is compressed, how would the GPU know what position in the frame buffer pixel #1578231 is?

Again, I have no practical experience doing this but it seems difficult to me to work with a compressed frame buffer while the GPU is rendering to it.

Could this explain why the PS4 is launching with some features missing? Because the original OS design assumed a machine with 4GB max?

Doubt it. They probably just prioritized what they wanted/needed most first and did not have a time to get through their whole list before launch.
 

Arksy

Member
You know, I'm reluctant to think that all of Microsoft's engineers are incompetent. Which begs the question, why go this route? Why only 32mb of ESRAM? Why not 1-2gigs? Surely it's possible? What's their rationale? Why would Microsoft go down this path when it's CLEARLY going to cause them issues? (From what people are saying).
 

joshcryer

it's ok, you're all right now
Cerny was talking about DDR3 (68GB/s) + eDRAM (1000GB/s), not DDR3 (68GB/s) + eSRAM (102GB/s)

Ahh, you're right! I completely misremembered that.

edit: oh and he even said with super fast eDRAM there would be diminishing returns or something to that effect, no?
 

nib95

Banned
Could this explain why the PS4 is launching with some features missing? Because the original OS design assumed a machine with 4GB max?

Possibly, and maybe even probably. They now have double the reserve to tinker, develop and add functionality and features. Maybe it's stuff they wanted in earlier but just didn't have the ram reserve for.

Gopher (Sony dev) implied that Sony didn't just luck out with 8GB GDDR5, that they put a lot of effort in with partners to get it done. Maybe it wasn't set in stone so they had no choice but to design around 4GB GDDR5 just in-case. As we now know, the 8GB GDDR5 thing was still a surprise to many, even internally.
 
Entrecôte;88240431 said:
Guess with same logic DDR3 has no less latency than DDR2.

exactly. if both were ddr3 and xbone ddr3 has lower timings, then sure. but ddr3 having "faster latency" is not an advantage at all, especially compared to gddr5. and just like you said, ddr2 has lower latency than ddr3 but no one is going to pick ddr2.
 

wsippel

Banned
There is not better latency on DDR3.

GDDR5 works in much higher frequency essentially nullifying better latency of DDR3 over GDDR5
Assuming KMS' figures are correct, DDR3 latency is still better regardless of the frequency. Because it's measured in nanoseconds, not cycles. And nothing beats single cycle latency, so eSRAM easily wins that battle.
 

KMS

Member
There is not better latency on DDR3.

GDDR5 works in much higher frequency essentially nullifying better latency of DDR3 over GDDR5

Yes, the higher clocked the ram is the lower the cycle time but DDR3 still beats out DDR5 by a small margin. Which of course isn't much of importance when talking about games.
 

mrklaw

MrArseFace
This is gonna sound real dumb, but would it be possible to do a partial frame buffer in the esram and the rest on DDR3 then bring them together?

yes you can. There was an interview a while back with a MS architect I think. He said you could use the esram for parts of your buffer that needed lots of activity, and store other, less bandwidth intensive parts in main ram.

as he was talking architecturally I don't know if xbox tools need to support that or whether it is complex for devs


regardless - due to the decisions taken I don't think it would make much difference. The rest of the GPU left after the esram has eaten half the chip means that it wouldn't be able to leverage much faster ram anyway.

my buggest wtf is the choice of esram or edram. Esram is slower than edram and takes up more space. so why not go with faster edram? seems like their desire to have one chip for future savings meant they had to go with esram - edram would have required a daughter die like on the 360

if they have done that, we could feasibly have seen 64-128MB eseam with much higher bandwidth.
 

Finalizer

Member
Oh boy, latency again. Guess that particular secret sauce wont be put away until this generation is well over.

Fun consideration, between Mortimer & CBOAT's bits about executive meddling in the Xbone's design and the B3D post about ESRAM coming before the 8GB main memory, I'm curious if there was ever a point MS might've been fiddling with a 4GB DDR3/32MB ESRAM combo, rather than GDDR5 ever being considered in the Xbone's design at any point in time. What a chuckle that would've been worth.
 

RayMaker

Banned
I remember someone on GAF making the analogy of comparing the different RAM setups to a transport truck

where the PS4 was one massive really fast truck transporting stuff from A -B in one journey

where in the same journey the XBO would have 2 trucks a ddr3 truck (about 1/2 the size of the gddr5 truck) and a small but fast esram truck

which do you think would be the best solution in transporting the goods?
 

viveks86

Member
There is not better latency on DDR3.

GDDR5 works in much higher frequency essentially nullifying better latency of DDR3 over GDDR5

This.

Here is a calculation I found on the internet to debunk this myth. I'm not backing it up since it's not my area of expertise, but it seems to use consistent math. Would like the gurus on this thread to comment on it:

Xbone uses DDR3-2133. DDR3-2133 latencies vary between 11-15 cycles, more expensive, higher quality (and cost) DDR3 has lower latencies. DDR3-2133 clock is 1066 MHz, which means each clock cycle is 1/(1.066*1M) = 0.938 ns. A latency window of 11 to 15 cycles is 10.3ns to 14.1ns.

PS4 uses GDDR5-5500. GDDR5-5500 latencies vary between 6-20 cycles, depending on quality (cost) of memory used. GDDR5-5500 clock is 1375 MHz, which means each clock cycle is 1/(1.375*1M) = 0.727ns. A latency window of 6 to 20 cycles is 4.36ns to 14.5ns.

http://systemwars.com/forums/index.php/topic/116470-done-my-research-reports-back-with-verdict-dat-gddr5-ps4/
 

Arksy

Member
Also, another dumb question.

What does RAM in this context do exactly? I was under the impression that more ram (in gaming) mainly meant that levels could be bigger and more things could be happening at once.
 

wizzbang

Banned
You know, I'm reluctant to think that all of Microsoft's engineers are incompetent. Which begs the question, why go this route? Why only 32mb of ESRAM? Why not 1-2gigs? Surely it's possible? What's their rationale? Why would Microsoft go down this path when it's CLEARLY going to cause them issues? (From what people are saying).

This is not "only" - fabricating 32mb of ram on a CPU / GPU is incredibly expensive. This isn't like a dedicated RAM chip - this is on the CPU itself, that's an extra 256 million transistors on the thing. Just for one aspect of the chip.
 

Biker19

Banned
You know, I'm reluctant to think that all of Microsoft's engineers are incompetent. Which begs the question, why go this route? Why only 32mb of eSRAM? Why not 1-2gigs? Surely it's possible? What's their rationale? Why would Microsoft go down this path when it's CLEARLY going to cause them issues (From what people are saying)?

Because having either 1 or 2 GB's of eSRAM would've been very expensive for Microsoft to produce (& probably would've drove the price tag of Xbox One even further than $500 due to Kinect 2 being included).
 
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?

I haven't watched much DBZ, but I've watched just enough to know what this means and it's pretty much victory.
 

Metfanant

Member
All DDR5 is high latency.

DD3 on xbox is around ~7ns(nano seconds) while the DDR5 on PS4 is around 11ns.

Would that make a difference for certain apps? Possible
Would it make a difference in games? Not really, maybe in a very rare situation for a couple calculations here and there if you went hog wild with long shader code or something.
Rubbish...I'm on my phone and its late so I don't feel like digging up the links, but the numbers are out there...

The specific DDR3 in the Xbone is not exactly top end DDR3...it doesn't have the beat latency...and the latency of GDDR5 is SIGNIFICANTLY overblown...the numbers are near on identical in reality...

Any miniscule latency advantage the Xbone may have on the CPU front is EASILY overshadowed by its massive bandwidth deficiency on the GPU side (1080p v 720p CoD says hello)


MS engineers are NOT incompetent...at the end of the day the esRAM is a bandaid solution to mask the bandwidth deficiencies of the DDR3 on the GPU side...

They knew they wanted 8GB of RAM...they knew they wanted an APU with a shared memory pool...the only way to go at the time that was a guarantee was DDR3...

Sony wanted the same things, bit were willing to settle for 4gb...they went with GDDR5 for its speed...the developers asked for more RAM and it so happens that very late in the game the proper sized modules became available to allow Sony to go with 8GB instead of 4...
 

Sakura

Member
You know, I'm reluctant to think that all of Microsoft's engineers are incompetent. Which begs the question, why go this route? Why only 32mb of ESRAM? Why not 1-2gigs? Surely it's possible? What's their rationale? Why would Microsoft go down this path when it's CLEARLY going to cause them issues? (From what people are saying).

It's not.
 

Codeblew

Member
You know, I'm reluctant to think that all of Microsoft's engineers are incompetent. Which begs the question, why go this route? Why only 32mb of ESRAM? Why not 1-2gigs? Surely it's possible? What's their rationale? Why would Microsoft go down this path when it's CLEARLY going to cause them issues? (From what people are saying).

I doubt their engineers are incompetent. However, they don't call the shots. The pointy hair types do. They probably did the best job they could with the constraints they had to work within.
 

nib95

Banned
I remember someone on GAF making the analogy of comparing the different RAM setups to a transport truck

where the PS4 was one massive really fast truck transporting stuff from A -B in one journey

where in the same journey the XBO would have 2 trucks a ddr3 truck (about 1/2 the size of the gddr5 truck) and a small but fast esram truck

which do you think would be the best solution in transporting the goods?

See my post and analogy here. The PS4's ram solution is far better and easier for developers too.

I made a previous post explaining the ram differences to layman a while back.

---

Xbox One and PS4 ram water pump analogy

Imagine the ram types on these consoles as rooms with pumps that are used to pump water (textures or whatever else) in and out of them.

The Xbox One has two rooms (DDR3 and Esram).

The DDR3 room (Room 1) is 8192 square foot in size and has a pump attached to it that is 68 cm in circumference and can only pump water in one direction at a time (read or write), in or out.
The Esram room (Room 2) is 32 square foot in size and has a pump attached to it that is 102(?) cm in circumference and can pump water in and out at the same time.

- Room 2 can pump water in and out of it's room far quicker than Room 1 can in it's room, however, Room 2 is substantially smaller than Room 1 so it has order of magnitude less water to work with at any given time.
- Both of these rooms can operate pumping at the same time (adding together bandwidth), but both are still limited to their respective room sizes.

The PS4 has one room (GDDR5).

The GDDR5 room (Room 3) is 8192 square foot in size and has a pump attached to it that is 176 cm in circumference and can pump water in and out at the same time.

The PS4's one room is both very large and very fast at the same time. With over 2.5x the water pumping speed as the Xbox One's equally sized 8192 square foot room. Whilst the Xbox One does have that secondary room with a large pump, it's still only 32 square foot in size. 256 times less space than the larger rooms.

---


EDIT: In-case you missed it, swap square foot for mb and cm for GB/s for the real figures regarding ram amount and memory bandwidth.
 

Finalizer

Member
What does RAM in this context do exactly? I was under the impression that more ram (in gaming) mainly meant that levels could be bigger and more things could be happening at once.

In basic terms, yes, RAM is where content being actively accessed by the system is stored for immediate use. In the case of ESRAM, that particular cache is too small for storing things like level data, textures, audio assets, whatever, so it's used for certain specific functions that benefit from the high bandwidth and don't require such large memory pools (e.g. framebuffer), though in that case the 32MB of the Xbone is still limiting for higher resolution; see the earlier referenced Skeff post.
 

DBT85

Member
Neogaf, doing in under 300 posts and a couple dozen bizarre analogies what the gaming press has been unable to do in months.

The education is strong with this one.
 
I think the frame buffer is like a scratchpad for the GPU where it needs a 1:1 mapping for each pixel. A pixel may be overwritten several times (think drawing far off objects first and then drawing closer objects over the top of them later). If the frame buffer is compressed, how would the GPU know what position in the frame buffer pixel #1578231 is?

Again, I have no practical experience doing this but it seems difficult to me to work with a compressed frame buffer while the GPU is rendering to it.

Ok thanks for the clarification.
 

Arksy

Member
I'd like to say thank you to the people who answered my questions. It is very much appreciated when complex problems are broken into simple language for us plebs. :)
 

KMS

Member
Rubbish...I'm on my phone and its late so I don't feel like digging up the links, but the numbers are out there...

The specific DDR3 in the Xbone is not exactly top end DDR3...it doesn't have the beat latency...and the latency of GDDR5 is SIGNIFICANTLY overblown...the numbers are near on identical in reality...

Any miniscule latency advantage the Xbone may have on the CPU front is EASILY overshadowed by its massive bandwidth deficiency on the GPU side (1080p v 720p CoD says hello)


MS engineers are NOT incompetent...at the end of the day the esRAM is a bandaid solution to mask the bandwidth deficiencies of the DDR3 on the GPU side...

They knew they wanted 8GB of RAM...they knew they wanted an APU with a shared memory pool...the only way to go at the time that was a guarantee was DDR3...

Sony wanted the same things, bit were willing to settle for 4gb...they went with GDDR5 for its speed...the developers asked for more RAM and it so happens that very late in the game the proper sized modules became available to allow Sony to go with 8GB instead of 4...

I put down close to average and it's not like it's a big deal like I said in multiple post latency doesn't matter for games especially on closed systems.
 
ESRAM is 6 transistor for each bit (+ control logic), that's 1.6 billion transistors for 32 MB (+ control logic).
Haswell is a 1.4 billion transistors CPU.
 

Withnail

Member
You know, I'm reluctant to think that all of Microsoft's engineers are incompetent. Which begs the question, why go this route? Why only 32mb of ESRAM? Why not 1-2gigs? Surely it's possible? What's their rationale? Why would Microsoft go down this path when it's CLEARLY going to cause them issues? (From what people are saying).

RROD?

Just kidding. There is a clear train of thought which led them down the path to where they are today:

1 we MUST have 8GB of affordable RAM
2 the only realistic 8GB solution available (at the time) is DDR3
3 DDR3 is slow so we need some fast embedded RAM to compensate
4 There is a finite amount of chip space so more ESRAM = fewer GPU resources.
Hence why the XB1 manages to have both a more complex memory setup and a weaker GPU than the PS4.

Sony's route is different. They prioritised having one unified pool of fast RAM and apparently would have settled for 4GB if necessary. However they were "lucky" in that 8GB of GDDR5 became an option. (Luck is the wrong word in my opinion, there is no luck in business, only well managed risk.)
 

wsippel

Banned
You know, I'm reluctant to think that all of Microsoft's engineers are incompetent. Which begs the question, why go this route? Why only 32mb of ESRAM? Why not 1-2gigs? Surely it's possible? What's their rationale? Why would Microsoft go down this path when it's CLEARLY going to cause them issues? (From what people are saying).
Roughly one third the Xbox One die, 1.6 billion transistors, is just SRAM. If it used 1GB SRAM, it'd be roughly eleven times the size and 55 billion transistors, and almost certainly the biggest, most expensive chip ever built - if they could actually manage to produce a single working chip, that is.
 
Ty for the info.

I will now show off with my friends.

With better development tools, will game data be 1:1 then issues with resolution. Or due to low esram will game data AND resolution always be an issue?

Scale of game will also factor in, I'm sure.
 

coolasj19

Why are you reading my tag instead of the title of my post?
PS4's set up is like trying to build a house of cards. Simple and easy
Xbone's set up is like trying to build a house of cards in front of a fan. But you do get like 10 squirts of super glue.
Think of it like two chutes. One chute is Sony's chute, it's really large and a circular shape which is important because everything you need to put down the chute will fit within that shape. You're free to dump in whatever you want and not really have to worry about it getting clogged up. It'll all go in smoothly.
Microsoft went with a chute that's about the same size, but stuff is much slower to go down because it's rectangular shaped. In order to help the situation they added a second chute, but made it super tiny. You can throw down really small things you need to get rid of right away, but it complicates things because you have a whole lot of stuff you need to put down the chute and now you have to worry about separating the big stuff from the small stuff.
In the end you conclude that one big chute that everything goes down quickly is a better method. There's really no benefit to having a big slow chute and a small faster one.
gddr5 door: 6 trucks at once, at 100 kph
ddr3 door: 6 cars, at 35 kph
esram door: one person at 150 kph
"We purposefully did not target the highest end graphics, we targeted more as a more broad entertainment play"
-Greg Williams General Manager of Xbox Silicon Development
lFUPMFd.gif
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?
Turns 1080p into 720p
Just kidding. There is a clear train of thought which led them down the path to where they are today:
1 we MUST have 8GB of affordable RAM
2 the only realistic 8GB solution available (at the time) is DDR3
3 DDR3 is slow so we need some fast embedded RAM to compensate
4 There is a finite amount of chip space so more ESRAM = fewer GPU resources.
Hence why the XB1 manages to have both a more complex memory setup and a weaker GPU than the PS4.
Sony's route is different. They prioritised having one unified pool of fast RAM and apparently would have settled for 4GB if necessary. However they were "lucky" in that 8GB of GDDR5 became an option. (Luck is the wrong word in my opinion, there is no luck in business, only well managed risk.)
Honestly. I think the Adventure Time Gif was enough.
 

KMS

Member
Ty for the info.

I will now show off with my friends.

With better development tools, will game data be 1:1 then issues with resolution. Or due to low esram will game data AND resolution always be an issue?

Scale of game will also factor in, I'm sure.

With such a large gap in GPU compute performance expect to have worse than lower resolution in a couple years on the XBO.
 
I find no fault with the design of XONE.

Policies and DRM is the only hurdle. As of now a mental hurdle. Athe time of concept they rolled with what they thought was the wise solution.

Snapping and gaming sounds very next gen, to be honest with you. Nintendo has survived with weaker graphics.

If Sony stuck with 4GB would that have pulled off 1080p. Every industry really is a game of inches.
 
RROD?

Just kidding. There is a clear train of thought which led them down the path to where they are today:

1 we MUST have 8GB of affordable RAM
2 the only realistic 8GB solution available (at the time) is DDR3
3 DDR3 is slow so we need some fast embedded RAM to compensate
4 There is a finite amount of chip space so more ESRAM = fewer GPU resources.
Hence why the XB1 manages to have both a more complex memory setup and a weaker GPU than the PS4.

Sony's route is different. They prioritised having one unified pool of fast RAM and apparently would have settled for 4GB if necessary. However they were "lucky" in that 8GB of GDDR5 became an option. (Luck is the wrong word in my opinion, there is no luck in business, only well managed risk.)

Oh yeah you
 
Now I know this isnt a thread about compute but could someone lay out the advantages of GPU Compute for me?

If its used how exactly does that help devs? I know it frees up CPU processes, but what exactly are the kinds of things that can be done with it?

In the beginning the CPU was the brains of the computer. It was versatile and it needed to be because it had to do all the work. Then along the way we decided that we wanted computers to make pretty pictures too. Well that involved some specialized math and being that the CPU was so versatile, it took up those responsibilities too although not very well. Eventually the need for prettier pictures won out and we realized that we could help the CPU out by having a GPU do the work of creating the pretty pictures instead.

So why is the GPU so much better at making pictures? Well as it turns out, the computing necessary to make pictures is much more limited than what the "I can do anything" CPU does. So designers made chips that only did those few things, but did them very very well.

It also turns out that making a pretty picture is very different than running arbitrary code. The picture can be broken up into smaller and smaller sections, and each section can be worked on independently. So given that the GPU required limited computing capabilities, the designers could make that part smaller, but then duplicate it many many times. So the GPU has limited computing complexity, but what it can do it can do very quickly. On top of that, it can do multiple versions of those computations at the same time.

Unfortunately, traditional code requires the complex coding found in the CPU, and it is very difficult to break it down into independent parts that all can be run at the same time. Well that was until GPU Compute came along. Certain problems that the CPU is used to solving, can be broken down so that they resemble the same kinds of tasks that the GPU does to create graphics. When you do that, you can feed those tasks to the GPU instead of the CPU which has two effects:
  • There is one less thing that the CPU has to do so it has time to do other stuff
  • The GPU is really good at what it does. It will chew through the tasks you give it like a beaver through a No.2 pencil.

The three big things I've heard that you can offload to the GPU are...
  • Physics
  • AI, Pathfinding
  • Computing directional sound effects
 

KMS

Member
Walking into any house in an open world game as opposed to locked doors on Xone?

Killzone:SF particle system is done on the cpu but moving to the GPU on their next game freeing up more of the CPU for AI. Also things like, fluid dynamics, soft body physics, audio raycasting, voxel cone raytracing, and so on. There is so much development to do on the software engineering side that who knows what kind of crazy stuff there will be by the end of the generation. Most of it will be done with GPU compute which the PS4 does in spades.
 
Top Bottom