zarx said:
Whoever wrote that article you are quoting is totally clueless, or a troll. Ignore that bullshit intirely. And there are games that use tiled resources on XBOne Battlefeild 4 uses tiled rendering (mainly for lighting so only some buffers are tiled iirc) and Wolfenstien uses id Tech's virtual texture system for tiled textures (aka megatextures). DX11.2's tiled resources works on the same principle of breaking up Textures into small chunks then performing an occlusion test so you can load just the tiles needed instead of the whole texture. It's useful when you have a small amount of VRAM but very large textures but it is still limited by the size of your texture cache and your avalable bandwidth. ESRAM doesn't make it any faster as it is too small to hold more than 1-2 tiles at once so you will still need to read the hundreds of MB of tiles from main memory (which is still slow) every frame, and still need to load tiles from disc as well. ESRAM is too small to be used as a tile cache. So it's great if you have a lot of low res texture data hence why id Tech games are designed around every surface being uniquely textured but the individual textures are all low resolution. There are novel other uses such as using it for more effeciant shadow maps etc and it does allow you to stream more effeciantly but the PS4 has the same capabilities so not an advantage. The example used in the article of drawing the bottom half of the frame in ESRAM and the top in main RAM is also nonsense. Frame buffer size has nothing to do with how many assets are drawn into it, and having half of your framebuffer in a seperate pool of memory doesn't require Tiled Resources. There are just as many pixels in the top and bottom of the frame, so it's the same size and there is no advantage to doing half in a slower pool. Half of it being in a slower pool of memory would only slow down the whole proccess as you would have to wait for the slow half anyway or have a permant scanline. No a good tiled aproach would be to split the frame up into lets say 16 peices and then you render the first chunk and then as you render the second chunck you are moving the first chunk into main memory, and then as you are drawing the third chunck you start moving the second chunk etc. And then you combine the final frame before output. This method allows you to use the full ESRAM bandwidth for rendering without having to have the whole framebuffer in ESRAM at once. However that does lead to some overhead from moving the chunks around, and from having more overdraw (you have to render things past the boundries of the screen for various reasons and that means you would have overdraw for every chunck which adds up).But as I said games already use tiled rendering LZ Compression isn't really bandwidth bound and has little to nothing to do with cloud proccessing. And even if it did the PS4's extra compute units in the GPU would actually be a much bigger advantage as it is massively parallel and well suited to GPGPU. MS knew what they were doing when they added ESRAM for sure. They knew that DDR3 memory would not have nearly enough bandwidth so they needed another faster pool of memory for the GPU. And as a second memory bus on the SoC would be prohibitive they had to use a large on chip cache to make up for it. |
I wouldnt bother talking to Selnor if i were you he will not listen and just keep saying "Tiling" till he is blue in the face, i dont think he has any background in tech at all.
Here is the article he quoted verbatum.