(This article was originally posted under my old nick, Cryotek, around August 2010. I'm reposting it because it still has relevance and anticipated the PS3's issues with Skyrim in a way. It also leads into an article on the PS4's RAM which I'll be publishing tomorrow. I've made a few minor edits and added images.)
I've always had an interest in gaming hardware, PC and console. I wanted to add my feedback on an issue I find particularly interesting - the PS3's performance, or lack thereof, despite its amazing Cell processor.
The usual explanation for PS3 performance issues is that games are not being programmed to take advantage of the Cell's unique architecture. Either they are lazy ports, or the programmers are still learning to optimize their code for it. I agree that this partially
explains poor performance in cross-platform titles and early exclusives. The Cell processor is very powerful, but tapping its full potential requires heavily multi-threaded programming optimized for it.
However, the PS3's performance ceiling may have less to do with programming than with clear-cut hardware limitations. In particular, the PS3 probably hits a RAM bottleneck long before realizing the Cell's potential. Powerful as it is, the Cell cannot "process" its way out of this memory deficit. It is the RAM (256mb system, 256mb video) holding back the resolution, texture quality, and frame rate of PS3 games. Textures, frames, and post-processing effects don't magically take up less space on the PS3 just because it has a fast processor, and 256mb isn't always enough when it comes to high quality HD gaming.
The PS3's graphics processor, Cell processor, and RAM (left to right)
Video RAM isn't just for storing textures. Anti-aliasing, post-processing effects, and high resolutions can dramatically increase the required video RAM. Moreover, when you increase resolution you may need to increase texture quality along with it- a texture that looks nice at 720p may look blurry at 1080p. And while 720 to 1080 doesn't sound
like much of a jump, a 1080p image (2,073,600 pixels) is over double the resolution of a 720p image (921,600 pixels). This is why so few console games run at 1080p, and those that do tend to have less complex graphics. Even a PS3 exclusive like Uncharted 2, programmed for the Cell and touted to really tap the system's power, only runs at 720p and 30fps. The limit isn't the Cell, but the system's RAM bottleneck.
This is why Sony's interest in bringing 3D gaming to the PS3 is problematic. 3D requires rending double the frames, potentially doubling the required RAM. This is why Wipeout HD, which normally runs at 1080p and 60fps, runs at 720p and 30fps in 3D mode- resolution and performance are cut in half to allow a doubling of frames. Converting more complex games that already run at 720p/30fps to 3D will be quite a task for developers, and will probably require reducing detail levels significantly.
There are ways to minimize these bottlenecks- many games, for example, stream in textures as you progress through a level. But you still hit a wall eventually, especially at higher resolutions. And these workarounds - streaming, compression, etc. - often come at a cost in terms of load times and in-game stuttering or pop-in as new content loads.
While the video RAM limits the system in many areas, that doesn't mean that the Cell's power can't be put to use elsewhere. All that "extra" processor time can be used for calculating complex physics, for example. The Cell has to do all that work with a meager 256mb of system RAM, though. It's hard to believe that this doesn't create a second, direct
bottleneck on the Cell itself.
The 360 has the same amount of RAM (512mb total), giving it similar limitations. However, the 360 also has a special 10mb of embedded hyper-fast EDRAM that lets it produce basic anti-aliasing with little to no performance hit- thereby freeing up RAM and memory bandwidth elsewhere. Also, whereas the PS3's RAM is split into two 256 parts - one for the system, one for video ram - the 360's 512mb of ram is shared. This gives the 360 an advantage, because developers can allocate its 512mb as needed.
Based on what we have gone over, though, it should be clear why some cross-platform PS3 games lack anti-aliasing and run at sub-HD resolutions compared to their 360 counterparts. The truth is, if Sony had put a weaker processor but more RAM in the PS3, it would likely perform better. As it stands, the PS3 seems a poorly balanced system that may never live up to its processor's potential.
Video RAM - how much do you really need
Playstation 3 Specs
Xbox 360 Specs
List of Rendering Resolutions + basics on hardware scaling, MSAA, framebuffers