Why do PC versions require more RAM than their PS3 versions?

Started by
12 comments, last by Matt_D 14 years, 10 months ago
Why do all the PC ported games require more RAM than their PS3 versions? For instance Assassin's creed requires 1 to 2 GB of RAM on a PC, where PS3 only has 256mb of RAM. This is pretty much the case for all games that have both PC and PS3 versions. Does anyone know why this is?
Advertisement
Because the PC has a large Operating System running on it, using up memory.

Because the PC version has higher resolution textures.

Because the PC version has all the graphics cached in system memory so that they can be quickly and easily restored when the app loses focus, which can't happen on a PS3.

Lots of reasons.
Interesting, I was wondering myself why my PS3 can do so much more with so much less than my desktop. ^_^;;;
Here are a few more reasons.

The console hardware is (basically) fixed and can be targeted specifically. The assets can be pre-processed at build time to load directly into memory. Audio can be written for a single specific medium-quality bitrate. The PC may need to convert the assets to a format supported by that particular machine.

The PC has a wide spectrum of hardware and they all need support. The games need to run reasonably on the minimum spec machine (let's say a single core 1.9 GHz and 5200 card) and also scale up to today's high-end machine, and beyond.

Many PC games are written with some future-proofing. They may have so many added effects that are well beyond the hardware at the time the system is released. For instance they may have a slider for the number of particles, knowing full well that a high-end gaming PC at the release date can only support 70% of maximum. They may have some awesome looking shaders that are known to kill the framerate on today's hardware, in the hopes that future hardware will be fast enough to compensate for it. This takes space. No such efforts are required or recommended for consoles.

The console is only doing one thing -- running your game. The PC is running your game, in addition to running your chat programs, virus scanner, the system tray apps, background iTunes, background Steam, minimized web browsers, and so on.


I could probably come up with many more, but those are the first ones on my brain.
wow thx guys! those r great info!

so in conclusion, the PC version may or usually has a better graphic quality.

Quote:Because the PC version has all the graphics cached in system memory so that they can be quickly and easily restored when the app loses focus, which can't happen on a PS3.


this is a great reason! thx

Quote: The console is only doing one thing -- running your game. The PC is running your game, in addition to running your chat programs, virus scanner, the system tray apps, background iTunes, background Steam, minimized web browsers, and so on.


so based on ur info, the recommended RAM, say 2GB, is really saying that the game will use 256mb but the other 1.75GB is required assuming u have all the other stuff going on. is this right?
There is also the matter of hardware access. On a console, your rendering code talks directly to the hardware, and keeps all of its data in the hardware's native format.

On a PC, there are two issues: a) you have no idea what graphics hardware will be available on the target machine, and b) no desktop operating system is going to allow you direct access to the hardware. For both these reasons, your game has to use an intermediate API such as OpenGL or D3D, and all data has to be transferred through/converted by the drivers.

Tristam MacDonald. Ex-BigTech Software Engineer. Future farmer. [https://trist.am]

Quote:Original post by neakor
so based on ur info, the recommended RAM, say 2GB, is really saying that the game will use 256mb but the other 1.75GB is required assuming u have all the other stuff going on. is this right?


Not quite. Operating systems typically support virtual memory. That means, regardless of physical RAM, an application can use either 2-3 gigabytes (32-bit OS) or 16 exabytes (64-bit OS).

But when OS runs out of physical RAM it starts paging to disk, causing things to slow down, but still work. For this reason, the recommended value is very vague. On systems without virtual memory, if you run out of physical RAM (and don't do something on your own), application crashes.

There are only two major contributors to memory use worth of notice:
- higher fidelity (higher resolution graphics, sound, perhaps more of them)
- pre-loading and caching to improve on user's experience

Size of texture in memory will be width*height. So if improved textures have double the with and height, the memory requirements increase 4 times. If console only uses 200MB, higher resolution will use 800MB for same content.

And, since on PCs memory is not so restricted, it is possible to preload or precompute more, OS may choose to cache files in memory (hundreds of megabytes), hardware drivers may choose to do more buffering, and one needs some leeway to prevent paging to kick in too soon.

But even without changes, the numbers quickly go up:

Vista baseline install requires around 1GB of memory just for clean boot. Most of this will be paged to disk, but several hundred megabytes may remain active. File system cache will take up additional hundred MB, some will be various kernel caches. XP for example requires between 65 and 230MB for clean boot.

So even if same assets are used, then the process itself (executable and related) will use similar amount of memory - except that the previous figures required by OS must be added on top of that. So 256MB + 230MB/1GB gives a rough figure of 1-2GB for optimal experience.
Err... although possible, it is generally not true that the PC version looks better than the Console version, because of reasons already mentioned (targeted hardware can be optimized WAY more).

I am not saying it is not posible, but generally to get the same quality on PC than Xbox360/PS3 + HDTV you'd need to have a VERY powerful computer that well exceeds the price of both consoles combined.
There's one other reason (although it makes less sense these days, where games are usually developed first on console and then ported to PC). I've worked on numerous ports of games from PC to console, and in those cases ... the PC version simply used lots of extra RAM because it could. PC developers have no reason to worry about limiting RAM usage, because the virtual memory system of the OS makes it a non-issue. On console, you *must* limit memory, or the game doesn't run, period.

Of course, if the game is built on console first, then it's much less likely that the PC version will be using lots of extra RAM for no good reason. But it does mean that it can take a simpler approach with some things. For example, why bother with complicated streaming code to manage the lifetime of all your texture and vertex data (tuned to the exact speed of the BluRay or DVD drive), when you can just load it all? (Assuming that the virtual address space is large enough for everything used in a level).
Quote:Original post by trunks14
Err... although possible, it is generally not true that the PC version looks better than the Console version


I have to completely disagree with this.

This topic is closed to new replies.

Advertisement