"ESRAM is dedicated RAM, its 32 megabytes, it sits right next to the GPU, in fact its on the other side of the GPU from the buses that talk to the rest of the system, so the GPU is the only thing that can see this memory.
And what it does is that it gives you very very high bandwidth output, and read capability from the GPU as well. This is useful because in a lot of cases, especially when we have as large content as we have today and five gigabytes that could potentially be touched to render something, anything that we can move to memory that has a bandwidth thats on the order of 2 to 10 x faster than the regular system memory is gonna be a huge win.
So this is where you put things that you gonna read a lot like a shadow map, put things that you draw to a lot, like your back buffer
We have resource creation settings that allow you to put things into there, and dont have to all reside in the ESRAM, there can be pieces of it that can reside in regular memory as well. So for example if Im a racing game, and I know that the top third of my screen is usually sky and that sky doesnt get touched very much, great, lets leave that in regular memory, but with the fast memory down here were gonna draw the cars. This works practically for any D3D resource there is, buffers, textures of any flavors
Theres no CPU access here, because the CPU cant see it, and its gotta get through the GPU to get to it, and we didnt enable that.
So the last thing you have to do to get it all composited up is to get it copied over to main memory. That copy over to main memory is really fatst, and it doesnt use any CPU or GPU time either, because we have DNA engines that actually do that for you in the console. This is how you get to 1080p, this is how you run at 60 frames per second
period, if youre bottlenecked by graphics."