Tiling is nothing new in graphics cards, its been around for decades, if not longer, Microsoft likes to mention things that are standard though as if developers might not understand they are there otherwise.
I'm not referring to how new it might be, I'm referring to the fact that Microsoft has made customizations to the hardware that put dedicated hardware in place that is capable of handling common GPU tasks, and how this may aide the system.
In Microsoft's dev document from early last year, they point out that an implication of 1 of the shared move engines having jpeg and lz decoding capabilies is that resource files can be kept in compressed formats and unpacked in hardware. Know what that reminds me of, and why I think it could be more significant than it seems?
It reminds me of an important change AMD made when they went from Cayman to GCN.
http://www.anandtech.com/show/4455/amds-graphics-core-next-preview-amd-architects-for-compute/4
So whats in a Compute Unit? Just as a Cayman SIMD was a collection of SPs, a Compute Unit starts with a collection of SIMDs. 4 SIMDs are in a CU, meaning that like a Cayman SIMD, a GCN CU can work on 4 instructions at once. Also in a Compute Unit is the control hardware & branch unit responsible for fetching, decoding, and scheduling wavefronts and their instructions. This is further augmented with a 64KB Local Data Store and 16KB of L1 data + texture cache. With GCN data and texture L1 are now one and the same, and texture pressure on the L1 cache has been reduced by the fact that AMD is now keeping compressed rather than uncompressed texels in the L1 cache. Rounding out the memory subsystem is access to the L2 cache and beyond. Finally there is a new unit: the scalar unit. Well get back to that in a bit.
I see Microsoft essentially taking that idea, or wherever they got the idea from, but it was one of the important changes in GCN to the L1 cache, and applying that concept in a way to the XB1 that I think is a net benefit to the system and for the 32MB of ESRAM. Remember, the size of the 32MB of ESRAM is a concern, because, well, it's only 32MB, right? But if AMD improved their 16KB L1 caches in GCN by only holding compressed data in there, then you could say applying that same concept to 32MB of ESRAM in some fashion doesn't seem like too bad an idea. You can imagine then how being able to keep data that's inside the ESRAM in a compressed format, which helps save space and will allow you to store more in there, only to then be able to unpack that compressed data directly for use by using fixed function hardware on the move engines specifically put in place to handle that responsibility, might be a very smart way to go about things. Because now you have a scenario where neither the GPU or the CPU specifically need to always handle this task themselves, leaving both to do other things. Now this may seem small to us, but it might prove a big deal to developers. As is well documented, developers do incredible work with very small amounts of memory, so these little bits of saved memory here or there, or spare cpu and gpu cycles can be more important than we think.
And that's all I'm saying. Microsoft clearly made some interesting customizations of their own that seem to expand quite a bit on certain hardware capabilities, just like sony did with their own hardware. If nothing else, Microsoft's own customizations are likely being ignored solely because XB1 isn't perceived as better competing with the PS4 on raw power and performance numbers. This is why I usually try to ignore the very basic comparison between the two systems, because we already know the numbers, but those numbers don't have to also mean that Microsoft's own efforts to aide developers in getting the most out of their system were useless, even if it takes some time for this all to fully click. All in all, it will be fun looking forward to what devs do on both systems. Man, I'm exhausted. Stayed up all night practically expecting to be called in to work, since I'm on call and was told to be on standby, and now I get a call saying I'm off for the day, which is awesome, but now I'm probably going to sleep the rest of the day
