How can the PS3 do so much with so little RAM and VRAM?
If you look at the hardware specs of the PS3 (on Wikipedia, for example), you will notice that the system has 256MB RAM and 256MB VRAM.
What is going on here? Is it the processor or is it something more that I’m missing? In my opinion, this is way too little compared with what good looking games need on PCs, for example.
7 Solutions collect form web for “How can the PS3 do so much with so little RAM and VRAM?”
As requested, I’ve converted my comment to an answer, and added a few more details:
More with less, but still less
An important thing to note is that consoles do relatively more (graphics-wise) with less (hardware-wise) than PCs due to lighter OSes and (usually) thorough optimization by game devs, but in the end gaming PCs have much more to work with than consoles do, so they do produce much better results than consoles.
Low-end PCs are still better than consoles
Even if you were to define “Gaming PCs” very broadly as “any PC with a low-to-mid-range graphics card made in the last few years and at least 2GB of RAM” (which means relatively cheap PCs still qualify), such a “Gaming PC” should be able to render games at higher resolutions and with more effects than consoles.
Consoles take shortcuts
The first way game developers get around the hardware limitations imposed by consoles is they make the console render the game at a lower resolution, and then upscale the images to fit the TV. For example, consoles run CoD4 at 1024×600 pixels with 2x anti-aliasing, which would be rather pathetic on a PC.
Here are some lists of actual PS3 game resolutions:
Beyond 3D forums – this seems to be where the upscaling was first noted and documented
Even more details from Beyond 3D – this is a more complete list of actual game resolutions/effects
Furthermore, consoles generally use lower-quality textures than are available in their PC-based versions, since they lack the RAM to load more detailed textures. Here’s a good comparison of the textures Dragon Age, and here’s a comparison of screen shots in Fallout3, Dead Space, CoD:WAW, and GTA4.
I don’t have the rep required to comment, but I want to point out what I believe to be a falsehood in thethinman’s answer. The Wikipedia article he linked to on SPEs states:
With the current generation of the Cell, each SPE contains a 256 KiB embedded SRAM for instruction and data, called “Local Storage” (not to be mistaken for “Local Memory” in Sony’s documents that refer to the VRAM) which is visible to the PPE and can be addressed directly by software. Each SPE can support up to 4 GiB of local store memory.
(Emphasis added.) The wording is a bit confusing, but I think this means that each SPE in the PS3 only has 256 KB of memory, although 4 GB could be supported.
At any rate, I can’t imagine a device that retails for $300 having 32GB of general-purpose RAM but only 256MB of VRAM. That being the case, the reason the PS3 can do what it can with so little RAM is as other posters have said… low memory usage by the OS and a high level of optimization by developers.
Part of it is that the operating system consumes much more resources on a PC than on a PS3. Just booting into Windows 7 is going to use several hundred MB of RAM. So if a PC game requires 512MB minimum, half of that probably isn’t even actually available to the game. PS3’s OS will have a significantly smaller footprint.
Edit: According to this source, the PS3 OS’s memory footprint was 120MB at launch, but firmware updates have trimmed it down to 50MB. XBox 360 OS, by comparison, uses 32MB. According to this source, Windows 7 will use at least 220MB, and Windows Vista 300MB, at a bare minimum. But in the real world it will use more because you will have more programs installed and possibly running.
It’s a pretty old thread, but it seems like most answers miss the point. I am a programmer working in the AAA industry.
Games are good looking on PS3 because game developers dedicate an insane amout of energy on optimization. It is why all AAA games are still programmed in C/C++, because it is the only way to control the memory usage.
We use special development kits during development (they usually have twice the amount of memory than the retail console), and it’s usually very hard to make everything fit into memory. Any game tester will tell you how often games crash because of memory limitations during development.
Also, most AAA games are sold on both PS3, Xbox360 and PC. Most of PC versions end-up with limitations due to cross-platform code.
If developers were dedicating the same efforts to make AAA PC-only games, the gap between PC and consoles would be more obvious.
This answer will be coming from a person that knows how computers work pretty well. I know for a fact that the absolute real answer was very close to being listed on this page here, but it never went beyond that. When a developer makes a game, for example, on a Playstation 3, he is building a game that is PARTICULARLY optimized for that console that is the same across everyone that owns a PS3. So that dev can spend more time focusing on making a game that fully utilizes the hardware within that console. Also include the fact that was mentioned multiple times that a console doesn’t have to do NEARLY as many tasks as a computer that has so many background tasks to go along with a game that is optimized in a general fashion, but requires particular drivers from third-party organizations (such as AMD and Nvidia) to run properly. In the end, however, the biggest difference as to how the consoles (even now in 2014) can still magically somehow boot up a game like Battlefield 4 lies within the factor that has been left out thus far… the graphics API. APIs are the programming interfaces used to allow a game to communicate with the hardware or its drivers. PCs must use high-level programming languages that are easily portable and understood by a majority of PC components and combinations. While a dev working on a console game can work with a form of “low-level” programming language that is more near the level of language that the hardware already communicates in before all the bits of binary is thrown around to produce the rate of display that we call framerate. With lower-level APIs, such a the modified DirectX9c used by the PS3, latency is drastically decreased and framerates are improved as more processes now require less processing power as opposed to trying to do the same thing on a PC with the same hardware that would be lucky to even launch the game to begin with.
I disagree with the answers to this question and the question itself. The PS3 is an absolute beast. It has one 3.2Ghz processor and 8 SPE processors. According to wikipedia can process single precision floats at 230.4 GFLOPS and in parallel can be used as a cost effective supercomputer:
the ps3’s use of a mainly multi threaded CPU
Was a smart decision as even today video games on pcs hardly ever use more than two cores. Only 5 years later are we actually seeing developers make use of the cell’s full abilities (uncharted 3)
But still the difficult nature of programming the cell will hold it back for at least another year for multiplatform games. The only problem I see is lazy devs and the shift to more gpu bound games. Look at amd’s bulldozer platform
They perform pretty sh*ty with traditional single threaded applications