errorpwns said:
The Cell had power, but the rest of the console was one big joke. 512MB of memory and essentially only 256MB of it was allowed for the graphics. The 360 had more available graphics memory and in some multi platform games that showed to help it. The graphics chip and memory bottlenecked the cell. It's all about bottlenecks. I could put a couple titans into my system, but in the end my Athlon II x4 2.8ghz would bottleneck the graphics chips. I'd need to upgrade into a faster processor to see frame increases in some games. See why consoles have 8GB of memory now? They don't want to run into the terrible bottleneck. Even in 06 systems dedicated for gaming were getting 2-4GB of memory. So putting 512 in was flawed from the beginning. Especially when they planned a 7-8 year console cycle. |
The thing that has changed between this generation and the previous generation is the fact that the bottle necks have become smaller and less obvious. They require a greater deal of understanding systems and how data is used on those systems, than looking at numbers.
What's the point of having GDDR5 memory when your memory block is 256Mb wide and you only have 4Mb to fill that space? A block size is an addressible area, only one thing can fit into a single block. So, having a larger block size as GDDR 5 does, become a disadvantage when you're dealing with smaller files. Soon, most of your memory is consumed with small files because these 256Mb blocks are now consumed by sub 256Mb files. Memory density, if you will. DDR3 memory has a smaller block size, I think 64Mb? So while it may take more blocks for a larger file, I'm not wasting as much memory on a smaller file. That 4Mb file is only wasting 60Mb of memory in a block, not 252Mb.
Likewise, as I said before. GDDR and DDR memory work differently. In GDDR memory you need to flush the memory before writing to it. You can't append the memory. Where as in DDR memory you can. Which is why I believe the PS4 relies on virtual memory (HDD cache file). The cache file is used to read and write active data from/to memory as it's being used.